[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