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

Reply via email to