Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dad8e2f7cec45d9b85cb90740c5be478fd4f02d3
      
https://github.com/WebKit/WebKit/commit/dad8e2f7cec45d9b85cb90740c5be478fd4f02d3
  Author: Per Arne Vollan <[email protected]>
  Date:   2026-09-30 (Wed, 30 Sep 2026)

  Changed paths:
    M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm

  Log Message:
  -----------
  [Site Isolation][iOS] MobileSafari crashes when long pressing a download link 
in cross origin iframe
https://bugs.webkit.org/show_bug.cgi?id=325373
rdar://178160029

Reviewed by Sihui Liu.

This is because of a failing release assert in CachedProcess::CachedProcess:

RELEASE_ASSERT_WITH_MESSAGE(dataStore && 
!dataStore->processes().contains(*m_process), ... );

This assert is failing because we haven't unregistered the WebProcessProxy with 
the data store.
This is happening because a RemotePageProxy can be deleted without being 
disconnected first
when calling BrowsingContextGroup::transitionProvisionalPageToRemotePage in
ProvisionalPageProxy.

Fix this by not setting m_shouldReuseMainFrame to true if a new 
BrowsingContextGroup has been
created for ProvisionalPageProxy.

Test: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm

* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::ProvisionalPageProxy):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::shouldReuseMainFrameOnProcessSwap const):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm:
(TestWebKitAPI::TEST(SiteIsolation, 
CancelNavigationResponseForLoadRequestOnOpenerWebView)):

Canonical link: https://commits.webkit.org/322363@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to