[webkit-changes] [WebKit/WebKit] 1ad0e1: Make rendering changes to make transform-style:pre...

mattwoodrow noreply at github.com
Wed Nov 30 11:58:46 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1ad0e15b45126e8e484bbc3ecd57c2f29df74d8c
      https://github.com/WebKit/WebKit/commit/1ad0e15b45126e8e484bbc3ecd57c2f29df74d8c
  Author: Matt Woodrow <mattwoodrow at apple.com>
  Date:   2022-11-30 (Wed, 30 Nov 2022)

  Changed paths:
    M LayoutTests/TestExpectations
    M LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/preserve3d-and-flattening-001.html
    M LayoutTests/platform/gtk/TestExpectations
    M Source/WebCore/platform/graphics/GraphicsLayerClient.h
    M Source/WebCore/rendering/RenderLayer.h
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebCore/rendering/RenderLayerBacking.h
    M Source/WebCore/rendering/RenderLayerCompositor.cpp

  Log Message:
  -----------
  Make rendering changes to make transform-style:preserve-3d and perspective only apply to direct DOM children.
https://bugs.webkit.org/show_bug.cgi?id=248282
<rdar://problem/102632581>

Reviewed by Simon Fraser.

The current editors draft for css-transforms-2 requires that transform-style:preserve-3d and perspective only apply to
direct DOM children elements. The current behaviour is that they are applied to the nearest descendants that result in
creation of a layer (which isn't very specific to the WebKit implementation).

This inserts a spacer GraphicsLayer on a child RenderLayer that would inherit the transform from its parent layer, but shouldn't due
to it not belong to the direct DOM parent element.

* LayoutTests/TestExpectations:
* LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/preserve3d-and-flattening-001.html:
* LayoutTests/platform/gtk/TestExpectations:
* Source/WebCore/platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::useCSS3DTransformInteroperability const):
* Source/WebCore/rendering/RenderLayer.h:
(WebCore::RenderLayer::hasPerspective const):
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::destroyGraphicsLayers):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateInternalHierarchy):
(WebCore::ancestorLayerIsDOMParent):
(WebCore::ancestorLayerWillCombineTransform):
(WebCore::RenderLayerBacking::updateTransformSpacerLayer):
(WebCore::RenderLayerBacking::childForSuperlayers const):
(WebCore::RenderLayerBacking::useCSS3DTransformInteroperability const):
* Source/WebCore/rendering/RenderLayerBacking.h:
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::recompositeChangeRequiresChildrenGeometryUpdate):
(WebCore::RenderLayerCompositor::layerStyleChanged):

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




More information about the webkit-changes mailing list