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