[webkit-changes] [WebKit/WebKit] 80fe49: [WPE][GTK] Enable permissions request API

Philippe Normand noreply at github.com
Tue Dec 13 07:06:30 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 80fe491a82749b5b90733f08cae3f2eac7286f9b
      https://github.com/WebKit/WebKit/commit/80fe491a82749b5b90733f08cae3f2eac7286f9b
  Author: Philippe Normand <philn at igalia.com>
  Date:   2022-12-13 (Tue, 13 Dec 2022)

  Changed paths:
    M Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml
    M Source/WebKit/PlatformGTK.cmake
    M Source/WebKit/PlatformWPE.cmake
    M Source/WebKit/SourcesGTK.txt
    M Source/WebKit/SourcesWPE.txt
    M Source/WebKit/UIProcess/API/glib/WebKitAutocleanups.h.in
    A Source/WebKit/UIProcess/API/glib/WebKitPermissionStateQuery.cpp
    A Source/WebKit/UIProcess/API/glib/WebKitPermissionStateQuery.h.in
    A Source/WebKit/UIProcess/API/glib/WebKitPermissionStateQueryPrivate.h
    M Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp
    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/webkit.h
    M Source/WebKit/UIProcess/API/gtk/webkit2.h
    M Source/WebKit/UIProcess/API/wpe/webkit.h
    M Tools/TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp

  Log Message:
  -----------
  [WPE][GTK] Enable permissions request API
https://bugs.webkit.org/show_bug.cgi?id=247065

Reviewed by Carlos Garcia Campos.

This is exposed in the GLib API as a WebKitPermissionStateQuery signalled by the WebView using the
`query-permission-state` GObject signal. When the application has a handler for this signal it has
to eventually call `webkit_permission_state_query_finish()` with a valid `WebKitPermissionState`. If
not handled, the default result is `WEBKIT_PERMISSION_STATE_PROMPT`, thus instructing the User-Agent
that it has to explicitely present a prompt asking for permission to the given feature.

* Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:
* Source/WebKit/PlatformGTK.cmake:
* Source/WebKit/PlatformWPE.cmake:
* Source/WebKit/SourcesGTK.txt:
* Source/WebKit/SourcesWPE.txt:
* Source/WebKit/UIProcess/API/glib/WebKitAutocleanups.h.in:
* Source/WebKit/UIProcess/API/glib/WebKitPermissionStateQuery.cpp: Added.
(_WebKitPermissionStateQuery::_WebKitPermissionStateQuery):
(_WebKitPermissionStateQuery::~_WebKitPermissionStateQuery):
(webkitPermissionStateQueryCreate):
(webkit_permission_state_query_ref):
(webkit_permission_state_query_unref):
(webkit_permission_state_query_get_name):
(webkit_permission_state_query_get_security_origin):
(webkit_permission_state_query_finish):
* Source/WebKit/UIProcess/API/glib/WebKitPermissionStateQuery.h.in: Added.
* Source/WebKit/UIProcess/API/glib/WebKitPermissionStateQueryPrivate.h: Added.
* Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:
(webkit_web_view_class_init):
(webkitWebViewPermissionStateQuery):
* Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in:
* Source/WebKit/UIProcess/API/glib/WebKitWebViewPrivate.h:
* Source/WebKit/UIProcess/API/gtk/webkit.h:
* Source/WebKit/UIProcess/API/gtk/webkit2.h:
* Source/WebKit/UIProcess/API/wpe/webkit.h:
* Tools/TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewQueryPermissionRequests):
(beforeAll):

Canonical link: https://commits.webkit.org/257787@main




More information about the webkit-changes mailing list