Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c22ba3278caac6a1fc8b0c7a10f04db1ffc44982
https://github.com/WebKit/WebKit/commit/c22ba3278caac6a1fc8b0c7a10f04db1ffc44982
Author: Tau Gärtli <[email protected]>
Date: 2026-10-13 (Tue, 13 Oct 2026)
Changed paths:
M Source/WebKit/PlatformGTK.cmake
M Source/WebKit/PlatformWPE.cmake
M Source/WebKit/SourcesGTK.txt
M Source/WebKit/SourcesWPE.txt
A Source/WebKit/UIProcess/API/glib/WebKitFrameInfo.cpp
A Source/WebKit/UIProcess/API/glib/WebKitFrameInfo.h.in
A Source/WebKit/UIProcess/API/glib/WebKitFrameInfoPrivate.h
M Source/WebKit/UIProcess/API/glib/WebKitNavigationAction.cpp
M Source/WebKit/UIProcess/API/glib/WebKitNavigationAction.h.in
M Source/WebKit/UIProcess/API/glib/WebKitNavigationActionPrivate.h
M Source/WebKit/UIProcess/API/glib/webkit.h.in
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/glib/TestWebKitPolicyClient.cpp
Log Message:
-----------
[GLib] Add FrameInfo API
https://bugs.webkit.org/show_bug.cgi?id=319164
Reviewed by Michael Catanzaro and Patrick Griffis.
This allows navigation policies to disallow top-level navigation
while allowing navigation inside frames (e.g. <iframe>s).
Sushi (GNOME's file previewer) will use this for HTML file previews:
Top-level navigation will be opened in an external browser while navigation
inside frames is still allowed.
Test: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/glib/TestWebKitPolicyClient.cpp
* Source/WebKit/PlatformGTK.cmake:
* Source/WebKit/PlatformWPE.cmake:
* Source/WebKit/SourcesGTK.txt:
* Source/WebKit/SourcesWPE.txt:
* Source/WebKit/UIProcess/API/glib/WebKitFrameInfo.cpp: Added.
(_WebKitFrameInfo::_WebKitFrameInfo):
(webkitFrameInfoCreate):
(webkit_frame_info_copy):
(webkit_frame_info_free):
(webkit_frame_info_is_main_frame):
(webkit_frame_info_ref):
(webkit_frame_info_unref):
* Source/WebKit/UIProcess/API/glib/WebKitFrameInfo.h.in: Copied from
Source/WebKit/UIProcess/API/glib/WebKitNavigationActionPrivate.h.
* Source/WebKit/UIProcess/API/glib/WebKitFrameInfoPrivate.h: Copied from
Source/WebKit/UIProcess/API/glib/WebKitNavigationActionPrivate.h.
* Source/WebKit/UIProcess/API/glib/WebKitNavigationAction.cpp:
(webkit_navigation_action_free):
(webkit_navigation_action_get_source_frame):
(webkit_navigation_action_get_target_frame):
(webkit_navigation_action_get_source_frame_info):
(webkit_navigation_action_get_target_frame_info):
* Source/WebKit/UIProcess/API/glib/WebKitNavigationAction.h.in:
* Source/WebKit/UIProcess/API/glib/WebKitNavigationActionPrivate.h:
* Source/WebKit/UIProcess/API/glib/webkit.h.in:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/glib/TestWebKitPolicyClient.cpp:
(testNavigationPolicy):
(testNavigationPolicyWithIframe):
(testNewWindowPolicy):
(serverCallback):
(beforeAll):
Canonical link: https://commits.webkit.org/323622@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications