[webkit-changes] [WebKit/WebKit] b1c7a7: Make PlatformLayerID ProcessQualified

Alex Christensen noreply at github.com
Fri Jan 20 22:58:31 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b1c7a7d92f10f5566061620b342376fdd5a48753
      https://github.com/WebKit/WebKit/commit/b1c7a7d92f10f5566061620b342376fdd5a48753
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2023-01-20 (Fri, 20 Jan 2023)

  Changed paths:
    M Source/WebCore/platform/graphics/GraphicsLayer.h
    M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
    M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp
    M Source/WebCore/rendering/RenderLayerCompositor.cpp
    M Source/WebCore/testing/Internals.cpp
    M Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm

  Log Message:
  -----------
  Make PlatformLayerID ProcessQualified
https://bugs.webkit.org/show_bug.cgi?id=250923
rdar://104498619

Reviewed by Simon Fraser.

With site isolation we will need multiple processes compositing layers with
the same RemoteLayerTreeHost, so to prevent identifier collisions I make the
layer identifiers process qualified.  Though we technically don't need 128 bit
identifiers in a web process because a web process shouldn't need to directly
interact with layers from another process, I believe it is premature optimization
to add complexity to the decoding of these identifiers in order to keep the layer
identifiers 64 bits in the web process.

* Source/WebCore/platform/graphics/GraphicsLayer.h:
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::debugName const):
(WebCore::GraphicsLayerCA::setContentsToSolidColor):
(WebCore::GraphicsLayerCA::setContentsToModel):
(WebCore::GraphicsLayerCA::updateContentsImage):
(WebCore::GraphicsLayerCA::updateContentsRects):
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::primaryLayerID const):
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::layerIDForElement):
* Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm:
(-[WKWebView _propertiesOfLayerWithID:]):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm:
(WebKit::RemoteLayerTreeNode::appendLayerDescription):

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




More information about the webkit-changes mailing list