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