Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9c5dd91ddbc2d32ef603f81c2366d39b8f151ac3
https://github.com/WebKit/WebKit/commit/9c5dd91ddbc2d32ef603f81c2366d39b8f151ac3
Author: Ryosuke Niwa <[email protected]>
Date: 2025-10-06 (Mon, 06 Oct 2025)
Changed paths:
M Source/WebKit/UIProcess/API/APINavigation.cpp
M Source/WebKit/UIProcess/API/APINavigation.h
M Source/WebKit/UIProcess/BrowsingContextGroup.cpp
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebProcessCache.cpp
M Source/WebKit/UIProcess/WebProcessPool.cpp
M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm
Log Message:
-----------
Release assert in WebPageProxy::continueNavigationInNewProcess when enabling
shared process for site isolation
https://bugs.webkit.org/show_bug.cgi?id=300178
Reviewed by Sihui Liu.
The assertion failure was caused by the race between destructing FrameProcess
for the old subframes and using
the same FrameProcess for the new subframes. Fixed the bug by extending the
lifetime of a shared process until
the end of the current navigation by storing it in API::Navigation. Also add a
bunch of other debug assertions
to diagnose this issue more easily in the future.
Test: TestWebKitAPI.SiteIsolation.SharedProcessBasicWebProcessCacheCrash
Test: Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm
* Source/WebKit/UIProcess/API/APINavigation.cpp:
(API::Navigation::setPendingSharedProcess):
* Source/WebKit/UIProcess/API/APINavigation.h:
* Source/WebKit/UIProcess/BrowsingContextGroup.cpp:
(WebKit::BrowsingContextGroup::sharedProcessForSite):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedNavigationActionPolicyDecision):
* Source/WebKit/UIProcess/WebProcessCache.cpp:
(WebKit::WebProcessCache::removeProcess):
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForSite):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(TestWebKitAPI::(SiteIsolation, SharedProcessBasicWebProcessCacheCrash)):
Canonical link: https://commits.webkit.org/301070@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes