Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 44e1c809f0e06146f13e2d24683928402be51ace
https://github.com/WebKit/WebKit/commit/44e1c809f0e06146f13e2d24683928402be51ace
Author: Zak Ridouh <[email protected]>
Date: 2026-07-29 (Wed, 29 Jul 2026)
Changed paths:
A
LayoutTests/http/tests/site-isolation/force-immediate-completion-expected.txt
A LayoutTests/http/tests/site-isolation/force-immediate-completion.html
A
LayoutTests/http/tests/site-isolation/resources/frame-force-immediate-completion.html
M LayoutTests/http/tests/site-isolation/resources/pointer-lock.html
M
LayoutTests/platform/ios/http/tests/site-isolation/pointer-lock-expected.txt
M Source/WebKit/UIProcess/API/C/WKPageInjectedBundleClient.h
M Source/WebKit/UIProcess/WebPageInjectedBundleClient.cpp
M Source/WebKit/UIProcess/WebPageInjectedBundleClient.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp
M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h
M Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp
M Tools/WebKitTestRunner/TestController.cpp
M Tools/WebKitTestRunner/TestController.h
M Tools/WebKitTestRunner/TestInvocation.cpp
M Tools/WebKitTestRunner/TestInvocation.h
Log Message:
-----------
[Site Isolation] Determine the notifyDone()/forceImmediateCompletion() dump
target in the UI process
https://bugs.webkit.org/show_bug.cgi?id=319764
rdar://182625550
Reviewed by Alex Christensen.
Follow-up to the previous fix in b/317789.
Instead of the web process self-reporting whether it
hosts the local main frame via InjectedBundle::pageHasLocalMainFrame(),
the UI process now determines whether the synchronous
notifyDone()/forceImmediateCompletion() message came from the process hosting
the main frame and tells WebKitTestRunner via a new WKPageInjectedBundleClient
callback.
When the message is from the main-frame process, the injected bundle completes
the
dump locally, matching the non-site-isolation behavior. Otherwise the dump is
routed
to the process that owns the main frame. These messages are now sent as
page-level
synchronous messages so the UI process has the page context needed to make that
determination.
* Source/WebKit/UIProcess/API/C/WKPageInjectedBundleClient.h:
* Source/WebKit/UIProcess/WebPageInjectedBundleClient.cpp:
(WebKit::WebPageInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle):
* Source/WebKit/UIProcess/WebPageInjectedBundleClient.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleSynchronousMessage):
* Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::pageHasLocalMainFrame const): Deleted.
* Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::notifyDone):
(WTR::TestRunner::forceImmediateCompletion):
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPlatformWebView):
(WTR::TestController::createWebViewWithOptions):
* Tools/WebKitTestRunner/TestController.h:
* Tools/WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::resolveNotifyDone):
* Tools/WebKitTestRunner/TestInvocation.h:
*
LayoutTests/http/tests/site-isolation/force-immediate-completion-expected.txt:
Added.
* LayoutTests/http/tests/site-isolation/force-immediate-completion.html: Added.
*
LayoutTests/http/tests/site-isolation/resources/frame-force-immediate-completion.html:
Added.
* LayoutTests/http/tests/site-isolation/resources/pointer-lock.html:
* LayoutTests/platform/ios/http/tests/site-isolation/pointer-lock-expected.txt:
Canonical link: https://commits.webkit.org/318189@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications