Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ca25989d0d7802ddc9a3b8d83a1776ddfcbbcfe2 https://github.com/WebKit/WebKit/commit/ca25989d0d7802ddc9a3b8d83a1776ddfcbbcfe2 Author: Alex Christensen <achristen...@apple.com> Date: 2023-05-31 (Wed, 31 May 2023)
Changed paths: M Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp M Source/WebKit/UIProcess/API/gtk/PageClientImpl.h M Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp M Source/WebKit/UIProcess/API/wpe/PageClientImpl.h M Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h M Source/WebKit/UIProcess/DrawingAreaProxy.cpp M Source/WebKit/UIProcess/DrawingAreaProxy.h M Source/WebKit/UIProcess/PageClient.h M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm M Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeDrawingAreaProxyIOS.h M Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeDrawingAreaProxyIOS.mm M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.h M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm M Source/WebKit/UIProcess/SubframePageProxy.cpp M Source/WebKit/UIProcess/SubframePageProxy.h M Source/WebKit/UIProcess/WebFrameProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebProcessPool.cpp M Source/WebKit/UIProcess/ios/PageClientImplIOS.h M Source/WebKit/UIProcess/ios/PageClientImplIOS.mm M Source/WebKit/UIProcess/ios/ViewGestureControllerIOS.mm M Source/WebKit/UIProcess/ios/WKContentView.h M Source/WebKit/UIProcess/ios/WKContentView.mm M Source/WebKit/UIProcess/mac/PageClientImplMac.h M Source/WebKit/UIProcess/mac/PageClientImplMac.mm M Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h M Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm M Source/WebKit/UIProcess/mac/WebViewImpl.h M Source/WebKit/UIProcess/mac/WebViewImpl.mm M Source/WebKit/UIProcess/playstation/PageClientImpl.cpp M Source/WebKit/UIProcess/playstation/PageClientImpl.h M Source/WebKit/UIProcess/wc/DrawingAreaProxyWC.cpp M Source/WebKit/UIProcess/wc/DrawingAreaProxyWC.h M Source/WebKit/UIProcess/win/PageClientImpl.cpp M Source/WebKit/UIProcess/win/PageClientImpl.h Log Message: ----------- Remove site isolation processes from DrawingAreaProxy when they are no longer used https://bugs.webkit.org/show_bug.cgi?id=257510 rdar://110027492 Reviewed by Tim Horton. This is cleanup necessary for and working towards having more than 1 layout test with site isolation enabled. I made symmetric add/remove, start/stop, attach/detach calls and tied them to object lifetimes instead of having them be called at other times that are hard to get right. Instead of having the DrawingAreaProxy keep track of which processes with which it has registered as a message receiver, move the registration/unregistration responsibility to WebPageProxy, which already keeps track of the site isolation processes. In the non-site-isolated case, there is only ever 1 web content process drawing at a time for a given WebPageProxy. Because there is RemoteLayerTreeDrawingAreaProxy which has its own message receiver, I kept the startReceivingMessages/stopReceivingMessages pattern to keep the platform specific code in the inheritance chain. * Source/WebKit/UIProcess/DrawingAreaProxy.cpp: (WebKit::DrawingAreaProxy::startReceivingMessages): (WebKit::DrawingAreaProxy::stopReceivingMessages): * Source/WebKit/UIProcess/DrawingAreaProxy.h: * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h: * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: (WebKit::RemoteLayerTreeDrawingAreaProxy::attachToRemoteFrameProcess): (WebKit::RemoteLayerTreeDrawingAreaProxy::detachFromRemoteFrameProcess): (WebKit::RemoteLayerTreeDrawingAreaProxy::startReceivingRemoteLayerTreeDrawingAreaProxyMessages): (WebKit::RemoteLayerTreeDrawingAreaProxy::stopReceivingRemoteLayerTreeDrawingAreaProxyMessages): (WebKit::RemoteLayerTreeDrawingAreaProxy::attachToProvisionalFrameProcess): Deleted. * Source/WebKit/UIProcess/SubframePageProxy.cpp: (WebKit::SubframePageProxy::SubframePageProxy): (WebKit::SubframePageProxy::~SubframePageProxy): * Source/WebKit/UIProcess/SubframePageProxy.h: (WebKit::SubframePageProxy::create): * Source/WebKit/UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::commitProvisionalFrame): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::createRemoteSubframesInOtherProcesses): Add a null check and an assertion. If it is hit, then our bookkeeping of the processes has an issue. This makes it more obvious what is going on when debugging. (WebKit::WebPageProxy::addSubframePageProxy): (WebKit::WebPageProxy::removeSubpageFrameProxy): (WebKit::WebPageProxy::removeSubpageFrameProxyIfUnused): Deleted. * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::processForNavigation): * Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: Canonical link: https://commits.webkit.org/264754@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes