Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 243980617048805c6cbf2b578381fb643f54ab11
https://github.com/WebKit/WebKit/commit/243980617048805c6cbf2b578381fb643f54ab11
Author: Zak Ridouh <[email protected]>
Date: 2026-07-18 (Sat, 18 Jul 2026)
Changed paths:
M
LayoutTests/http/tests/site-isolation/accessibility/focus-in-remote-frame-expected.txt
M
LayoutTests/http/tests/site-isolation/accessibility/focus-in-remote-frame.html
M LayoutTests/platform/ios-site-isolation/TestExpectations
M LayoutTests/platform/mac-site-isolation/TestExpectations
M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp
M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h
M Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp
M Tools/WebKitTestRunner/TestInvocation.cpp
M Tools/WebKitTestRunner/TestInvocation.h
Log Message:
-----------
[Site Isolation] WebKitTestRunner dumps at the wrong moment for notifyDone()
and forceImmediateCompletion()
https://bugs.webkit.org/show_bug.cgi?id=317789
rdar://180558300
Reviewed by Alex Christensen.
With site isolation enabled, TestRunner::notifyDone() and
forceImmediateCompletion() always resolved the dump by posting an async
message from the UI process to the page, even when the calling web
process hosts the local main frame and could dump in place. The async
round-trip moves the dump out of the JS call stack, so it captures DOM
state from after the call returned instead of at the call site.
Let the injected bundle report whether it hosts the local main frame and
pass that to the UI process. When it does (and no work queue is pending),
the caller dumps synchronously, matching the non-site-isolation
semantics. Callers whose main frame is remote keep routing the dump to
the process that owns the local main frame.
*
LayoutTests/http/tests/site-isolation/accessibility/focus-in-remote-frame-expected.txt:
*
LayoutTests/http/tests/site-isolation/accessibility/focus-in-remote-frame.html:
* LayoutTests/platform/ios-site-isolation/TestExpectations:
* LayoutTests/platform/mac-site-isolation/TestExpectations:
* Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::pageHasLocalMainFrame const):
* Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::notifyDone):
(WTR::TestRunner::forceImmediateCompletion):
* Tools/WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::resolveNotifyDone):
(WTR::TestInvocation::resolveForceImmediateCompletion):
* Tools/WebKitTestRunner/TestInvocation.h:
Canonical link: https://commits.webkit.org/317490@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications