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

Reply via email to