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

Reply via email to