Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3bac3385d0b910a1f461dfd78508871f84bd8243
https://github.com/WebKit/WebKit/commit/3bac3385d0b910a1f461dfd78508871f84bd8243
Author: John Cardullo <[email protected]>
Date: 2026-07-20 (Mon, 20 Jul 2026)
Changed paths:
M Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp
M Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in
M Source/WebKit/UIProcess/API/glib/WebKitWebViewPrivate.h
M Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp
M Source/WebKit/UIProcess/API/gtk/PageClientImpl.h
M Source/WebKit/UIProcess/API/wpe/APIViewClient.h
M Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp
M Source/WebKit/UIProcess/API/wpe/PageClientImpl.h
M Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp
M Source/WebKit/UIProcess/API/wpe/WPEWebView.h
M Source/WebKit/UIProcess/API/wpe/WebKitWebViewClient.h
M Source/WebKit/UIProcess/PageClient.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebPageProxy.messages.in
M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
M Tools/TestWebKitAPI/Tests/WebKit/WKPage/glib/TestWebKitWebView.cpp
Log Message:
-----------
GLib: Add magnification get/set APIs and notify property changes
https://bugs.webkit.org/show_bug.cgi?id=317322
Reviewed by Michael Catanzaro and Carlos Garcia Campos.
To resolve GNOME Epiphany issue #1544, expose magnification get/set APIs
in WebKit's GLib API layer (WebKitWebView). Also, add support for notifying
property changes via a new "magnification" GObject property when pinch-zoom
occurs.
Add API documentation and test coverage for the magnification APIs.
* Source/WebKit/UIProcess/PageClient.h:
(WebKit::PageClient::pageScaleFactorDidChange): Added.
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::pageScaleFactorDidChange): Forward scale changes to
m_pageClient.
* Source/WebKit/UIProcess/API/gtk/PageClientImpl.h:
* Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::pageScaleFactorDidChange): Trigger
webkitWebViewDidChangePageScale.
* Source/WebKit/UIProcess/API/wpe/PageClientImpl.h:
* Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp:
(WebKit::PageClientImpl::pageScaleFactorDidChange): Forward to WPE View.
* Source/WebKit/UIProcess/API/wpe/WPEWebView.h:
* Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp:
(WKWPE::View::pageScaleFactorDidChange): Notify WPE API view client.
* Source/WebKit/UIProcess/API/wpe/APIViewClient.h:
(API::ViewClient::pageScaleFactorDidChange): Added virtual method.
* Source/WebKit/UIProcess/API/wpe/WebKitWebViewClient.h:
* Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in:
Add declarations for webkit_web_view_set_magnification and
webkit_web_view_get_magnification.
* Source/WebKit/UIProcess/API/glib/WebKitWebViewPrivate.h:
Declare webkitWebViewDidChangePageScale private helper.
* Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:
(webkit_web_view_class_init): Document PROP_MAGNIFICATION.
(WebKitWebViewClient::pageScaleFactorDidChange): Call
webkitWebViewDidChangePageScale.
(webkitWebViewDidChangePageScale): Notify magnification property change.
(webkit_web_view_set_magnification): Scale page in view coordinates around the
center point, and notify PROP_MAGNIFICATION change.
(webkit_web_view_get_magnification): Retrieve pageScaleFactor.
* Tools/TestWebKitAPI/Tests/WebKit/WKPage/glib/TestWebKitWebView.cpp:
(magnificationChangedCallback): Added.
(testWebViewMagnification): Added.
(beforeAll): Register the magnification test.
Canonical link: https://commits.webkit.org/317531@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications