Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ca25989d0d7802ddc9a3b8d83a1776ddfcbbcfe2
https://github.com/WebKit/WebKit/commit/ca25989d0d7802ddc9a3b8d83a1776ddfcbbcfe2
Author: Alex Christensen <[email protected]>
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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes