Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b63b8ad3e3888a79049ca9bfdc75d7f1190fe70a
https://github.com/WebKit/WebKit/commit/b63b8ad3e3888a79049ca9bfdc75d7f1190fe70a
Author: Qianlang Chen <[email protected]>
Date: 2026-07-08 (Wed, 08 Jul 2026)
Changed paths:
M
LayoutTests/http/tests/site-isolation/inspector/debugger/resources/site-isolation-debugger-test-utilities.js
M
LayoutTests/http/tests/site-isolation/inspector/network/cross-origin-iframe-network-events-have-correct-frame-id-expected.txt
M
LayoutTests/http/tests/site-isolation/inspector/network/cross-origin-iframe-network-events-have-correct-frame-id.html
M
LayoutTests/http/tests/site-isolation/inspector/network/cross-origin-iframe-network-loading-finished-expected.txt
M
LayoutTests/http/tests/site-isolation/inspector/network/cross-origin-iframe-network-loading-finished.html
M
LayoutTests/http/tests/site-isolation/inspector/network/cross-origin-iframe-resource-appears-in-network-domain-expected.txt
M
LayoutTests/http/tests/site-isolation/inspector/network/cross-origin-iframe-resource-appears-in-network-domain.html
R
LayoutTests/http/tests/site-isolation/inspector/network/resources/iframe-with-abort.html
A
LayoutTests/http/tests/site-isolation/inspector/network/resources/iframe-with-failed-fetch.html
R
LayoutTests/http/tests/site-isolation/inspector/network/resources/slow-response.py
M LayoutTests/platform/mac-wk2/TestExpectations
Log Message:
-----------
[Site Isolation] Web Inspector: ProxyingNetworkAgent tests fail despite
completed event-routing work
https://bugs.webkit.org/show_bug.cgi?id=318380
Reviewed by BJ Burg.
Fix the three skipped site-isolation/inspector/network tests. There were
three problems, where fixing one revealed another:
1. We were executing commands on the wrong frame target. Under SI, a
cross-origin iframe is represented by two WI.FrameTargets: a
placeholder created in the parent process (from
WebFrameProxy::didCreateSubframe, isProvisional=false, where the
iframe's JavaScript never runs) and the real target created in the
iframe's own process (from ProvisionalFrameProxy /
didCreateProvisionalFrame, isProvisional=true, where the execution
context is created). The tests selected a target with a single-shot
WI.targetManager.awaitEvent(TargetAdded), which would usually return
the parent-process placeholder.
Fix this by declaring the cross-origin iframe statically in the page
instead, which should already be committed when the test runs.
2. We were comparing frame IDs that use two different string formats.
we asserted iframe attribution by string-comparing resource.parentFrame.id
against frameTarget.identifier. Those encode the same (frameID,
processID) pair in different formats -- the Network protocol uses
"frame-<process>.<frame>" (InspectorIdentifierRegistry::protocolFrameId)
while target identifiers use "frame-<frame>-<process>"
(FrameInspectorTarget::toTargetID)
so they never match.
Replace the comparison with a semantic check that the resource's
parent frame is a direct child of the main frame.
3. The abort case asserted the wrong thing and couldn't test the fail
path. It expected an aborted fetch to fire loadingFailed, but
aborting a fetch is reported as a finished load (I verified this
against the page target, which behaved the same with SI off,
because canceling a fetch doesn't cancel the underlying loader).
Fix this by triggering a genuine network-level failure (a fetch to a
dead port), which goes through SubresourceLoader::didFail and
exercises loadingFailed routing through ProxyingNetworkAgent, the
fail path the original test was reaching for.
Filed bug 318836 as a follow-up to potentially add more test cases.
*
LayoutTests/http/tests/site-isolation/inspector/debugger/resources/site-isolation-debugger-test-utilities.js:
(TestPage.registerInitializer.window.frameTargetForURLContaining.async
frameTargetForURLContaining):
*
LayoutTests/http/tests/site-isolation/inspector/network/cross-origin-iframe-network-events-have-correct-frame-id-expected.txt:
*
LayoutTests/http/tests/site-isolation/inspector/network/cross-origin-iframe-network-events-have-correct-frame-id.html:
*
LayoutTests/http/tests/site-isolation/inspector/network/cross-origin-iframe-network-loading-finished-expected.txt:
*
LayoutTests/http/tests/site-isolation/inspector/network/cross-origin-iframe-network-loading-finished.html:
*
LayoutTests/http/tests/site-isolation/inspector/network/cross-origin-iframe-resource-appears-in-network-domain-expected.txt:
*
LayoutTests/http/tests/site-isolation/inspector/network/cross-origin-iframe-resource-appears-in-network-domain.html:
*
LayoutTests/http/tests/site-isolation/inspector/network/resources/iframe-with-abort.html:
Removed.
*
LayoutTests/http/tests/site-isolation/inspector/network/resources/iframe-with-failed-fetch.html:
Added.
*
LayoutTests/http/tests/site-isolation/inspector/network/resources/slow-response.py:
Removed.
* LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/316759@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications