Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4b78955e0ded5c80d5ebaa43277434c8c44f2cdf
      
https://github.com/WebKit/WebKit/commit/4b78955e0ded5c80d5ebaa43277434c8c44f2cdf
  Author: Jamie Murphy <[email protected]>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M Source/WTF/wtf/glib/GRefPtr.h
    M Source/WebKit/UIProcess/API/glib/WebKitNavigationAction.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitNavigationActionPrivate.h
    M Source/WebKit/UIProcess/API/glib/WebKitWebExtensionContext.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitWebExtensionContext.h.in
    A Source/WebKit/UIProcess/API/glib/WebKitWebExtensionContextPrivate.h
    M Source/WebKit/UIProcess/API/glib/WebKitWebExtensionMatchPatternPrivate.h
    M Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitWebViewPrivate.h
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in
    M Source/WebKit/UIProcess/Extensions/WebExtensionController.cpp
    M Source/WebKit/UIProcess/Extensions/glib/WebExtensionContextGLib.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/WebPageProxyInternals.h
    M Source/WebKit/UIProcess/glib/WebPageProxyGLib.cpp
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIAlarms.cpp
    M Source/cmake/OptionsGTK.cmake
    M 
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/glib/TestWebKitWebExtensionContext.cpp

  Log Message:
  -----------
  [GTK] Support Background Web View in WebKitWebExtensionContext
https://bugs.webkit.org/show_bug.cgi?id=321729

Reviewed by Michael Catanzaro and Patrick Griffis.

Includes support for spawning background web views in WebKitGTK's extension 
context.
At the moment, there is no support for interacting with these web views,
but the messaging code is technically enabled and could be adjusted to work in 
a future
PR.

Fixes a temporary issue from https://commits.webkit.org/318862@main.

Test: 
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/glib/TestWebKitWebExtensionContext.cpp

* Source/WTF/wtf/glib/GRefPtr.h:
* Source/WebKit/UIProcess/API/glib/WebKitNavigationAction.cpp:
(webkitNavigationActionGetAction):
* Source/WebKit/UIProcess/API/glib/WebKitNavigationActionPrivate.h:
* Source/WebKit/UIProcess/API/glib/WebKitWebExtensionContext.cpp:
(webkitWebExtensionContextToImpl):
(webkit_web_extension_context_load_background_content):
(webkit_web_extension_context_load_background_content_finish):
* Source/WebKit/UIProcess/API/glib/WebKitWebExtensionContext.h.in:
* Source/WebKit/UIProcess/API/glib/WebKitWebExtensionContextPrivate.h: Copied 
from Source/WebKit/UIProcess/Extensions/glib/WebExtensionContextGLib.cpp.
* Source/WebKit/UIProcess/API/glib/WebKitWebExtensionMatchPatternPrivate.h:
* Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewGetWebExtensionContext):
(webkitWebViewCreatePageConfiguration):
(webkitWebViewConstructed):
(webkitWebViewSetProperty):
(webkitWebViewGetProperty):
(webkit_web_view_class_init):
(webkitWebViewCreateNewPage):
* Source/WebKit/UIProcess/API/glib/WebKitWebViewPrivate.h:
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm:
(-[_WKWebExtensionContextDelegate _webView:navigationDidFinishDocumentLoad:]):
(-[_WKWebExtensionContextDelegate webView:didFailNavigation:withError:]):
(WebKit::WebExtensionContext::isNotRunningInTestRunner):
(WebKit::WebExtensionContext::didFinishDocumentLoad):
(WebKit::WebExtensionContext::didFailNavigation):
(WebKit::isNotRunningInTestRunner): Deleted.
(WebKit::WebExtensionContext::scheduleBackgroundContentToUnload): Deleted.
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp:
(WebKit::WebExtensionContext::stateFilePath const):
(WebKit::WebExtensionContext::removeExpired):
(WebKit::WebExtensionContext::scheduleBackgroundContentToUnload):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
(WebKit::WebExtensionContext::stateFileName):
(WebKit::WebExtensionContext::backgroundWebView const):
(WebKit::WebExtensionContext::isOffscreenWebView const):
(WebKit::WebExtensionContext::plistFileName):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in:
* Source/WebKit/UIProcess/Extensions/WebExtensionController.cpp:
(WebKit::WebExtensionController::stateFilePath const):
* Source/WebKit/UIProcess/Extensions/glib/WebExtensionContextGLib.cpp:
(onDecidePolicy):
(onDidFinishDocumentLoad):
(onDidFailNavigation):
(onWebProcessTerminated):
(WebKit::WebExtensionContext::~WebExtensionContext):
(WebKit::WebExtensionContext::recordError):
(WebKit::WebExtensionContext::clearError):
(WebKit::WebExtensionContext::currentState const):
(WebKit::WebExtensionContext::readStateFromPath):
(WebKit::WebExtensionContext::readLastBaseURLFromState):
(WebKit::WebExtensionContext::readDisplayNameFromState):
(WebKit::WebExtensionContext::readStateFromStorage):
(WebKit::WebExtensionContext::writeStateToStorage const):
(WebKit::WebExtensionContext::enumerateExtensionPages):
(WebKit::WebExtensionContext::relatedWebView):
(WebKit::WebExtensionContext::webViewConfiguration):
(WebKit::WebExtensionContext::backgroundContentIsLoaded const):
(WebKit::WebExtensionContext::loadBackgroundWebViewIfNeeded):
(WebKit::WebExtensionContext::loadBackgroundWebView):
(WebKit::WebExtensionContext::setBackgroundWebViewInspectionName):
(WebKit::WebExtensionContext::unloadBackgroundContentIfPossible):
(WebKit::WebExtensionContext::unloadBackgroundWebView):
(WebKit::WebExtensionContext::loadBackgroundPageListenersFromStorage):
(WebKit::WebExtensionContext::saveBackgroundPageListenersToStorage):
(WebKit::WebExtensionContext::performTasksAfterBackgroundContentLoads):
(WebKit::WebExtensionContext::decidePolicyForNavigationAction):
(WebKit::WebExtensionContext::didFinishDocumentLoad):
(WebKit::WebExtensionContext::didFailNavigation):
(WebKit::WebExtensionContext::webViewWebContentProcessDidTerminate):
(WebKit::WebExtensionContext::isNotRunningInTestRunner):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxyInternals.h:
* Source/WebKit/UIProcess/glib/WebPageProxyGLib.cpp:
(WebKit::WebPageProxy::platformView):
(WebKit::WebPageProxy::setPlatformView):
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIAlarms.cpp:
(WebKit::WebExtensionAPIAlarms::createAlarm):
(WebKit::WebExtensionAPIAlarms::get):
(WebKit::WebExtensionAPIAlarms::getAll):
(WebKit::WebExtensionAPIAlarms::clear):
(WebKit::WebExtensionAPIAlarms::clearAll):
* Source/cmake/OptionsGTK.cmake:
* 
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/glib/TestWebKitWebExtensionContext.cpp:
(testURIOverridesParsing):
(testLoadBackgroundContentWithoutController):
(beforeAll):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to