Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ed2a17c1cc516eeb6a519af2d8f40f1e7746276c
      
https://github.com/WebKit/WebKit/commit/ed2a17c1cc516eeb6a519af2d8f40f1e7746276c
  Author: Charlie Wolfe <[email protected]>
  Date:   2026-10-05 (Mon, 05 Oct 2026)

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

  Log Message:
  -----------
  COOP WebProcess cache is bypassed when navigating from a cross-site page
https://bugs.webkit.org/show_bug.cgi?id=326320
rdar://189164991

Reviewed by Ben Nham.

322431@main reuses the unused provisional process for a COOP swap, but it 
returns before
processForSite(), which is where 322438@main checks the COOP process cache. So 
cross-site COOP
navigations never hit the cache, which should be preferred over the reused 
provisional process. Pass
the provisional process to processForSite() and use it only when the cache has 
no match.

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

* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::triggerBrowsingContextGroupSwitchForNavigation):
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForSite):
* Source/WebKit/UIProcess/WebProcessPool.h:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ProcessSwapOnNavigation.mm:
((ProcessSwap, UseWebProcessCacheForCOOPSwapFromCrossSitePage)):
((ProcessSwap, 
UseWebProcessCacheForCOOPSwapFromCrossSitePageWithSiteIsolation)):

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



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

Reply via email to