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

Reply via email to