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