Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6312525780e418e47ae2aecdbc62d6c44273a377
      
https://github.com/WebKit/WebKit/commit/6312525780e418e47ae2aecdbc62d6c44273a377
  Author: Alex Christensen <[email protected]>
  Date:   2025-09-29 (Mon, 29 Sep 2025)

  Changed paths:
    M Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/WebProcessPool.cpp
    M Source/WebKit/UIProcess/WebProcessPool.h
    M Source/WebKit/WebProcess/WebProcess.cpp
    M Source/WebKit/WebProcess/WebProcess.h
    M Source/WebKit/WebProcess/WebProcess.messages.in
    M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm

  Log Message:
  -----------
  Clean up WebPages in cached processes with site isolation enabled
https://bugs.webkit.org/show_bug.cgi?id=299824
rdar://161589218

Reviewed by Ben Nham.

When making a new WebPageProxy with an opener, there is logic in 
ProvisionalPageProxy::didCommitLoadForFrame
that adopts the message receiver and maintains the RemotePageProxy/WebPageProxy 
"ownership" of WebPages
in processes.  However, when navigating without an opener, we were just missing 
some cleanup.  This
adds that cleanup and test SPI to verify it is cleaned up properly.

Tests: Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm
* Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _countWebPagesInAllProcessesForTesting:]):
* Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::commitProvisionalPage):
(WebKit::WebPageProxy::shouldClosePreviousPage):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::countWebPagesInAllProcessesForTesting):
* Source/WebKit/UIProcess/WebProcessPool.h:
* Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::focusedWebPage const):
(WebKit::WebProcess::createWebPage):
(WebKit::WebProcess::countWebPagesForTesting):
(WebKit::WebProcess::ensureGPUProcessConnection):
(WebKit::WebProcess::gpuProcessConnectionClosed):
(WebKit::WebProcess::ensureModelProcessConnection):
(WebKit::WebProcess::accessibilityRelayProcessSuspended):
* Source/WebKit/WebProcess/WebProcess.h:
* Source/WebKit/WebProcess/WebProcess.messages.in:
* Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::activePagesOrigins):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(TestWebKitAPI::countWebPages):
(TestWebKitAPI::TEST(SiteIsolation, ProcessReuse)):

Canonical link: https://commits.webkit.org/300719@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