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

Reply via email to