Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 077e5cdf8cb0b5248b6b783a83f164d8c893b037
https://github.com/WebKit/WebKit/commit/077e5cdf8cb0b5248b6b783a83f164d8c893b037
Author: Qianlang Chen <[email protected]>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M LayoutTests/http/tests/site-isolation/inspector/target/target-expected.txt
M LayoutTests/http/tests/site-isolation/inspector/target/target.html
M Source/WebKit/UIProcess/WebFrameProxy.cpp
M Source/WebKit/UIProcess/WebFrameProxy.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
Log Message:
-----------
[Site Isolation] prepareForProvisionalLoadInProcess should guard against
cancellation during network process's handling
https://bugs.webkit.org/show_bug.cgi?id=309172
Reviewed by BJ Burg.
When frame.prepareForProvisionalLoadInProcess completes, it's possible
for provisional loading to be cancelled in the meantime. Sending
WebPage::LoadRequest for that cancelled frame results in an assertion
failure as the frame is already unregistered in that web process.
When provisional loading is cancelled, the ProvisionalFrameProxy will
either be destroyed or disconnected from parent frame. Use that info
as a guard to only optionally report back the pageID as the loading
destination.
The two test cases in target.html involving cancelling provisional
loading should now progress.
(This assertion failure only occurred intermittently in that inspector
testing environment and under debug+asan build. I could not repro it
with a standalone JS test. Thus, no new tests.)
* LayoutTests/http/tests/site-isolation/inspector/target/target-expected.txt:
* LayoutTests/http/tests/site-isolation/inspector/target/target.html:
* Source/WebKit/UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::prepareForProvisionalLoadInProcess):
* Source/WebKit/UIProcess/WebFrameProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::continueNavigationInNewProcess):
Canonical link: https://commits.webkit.org/308729@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications