Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[LBSE] Activate SVG transform support through layers
https://bugs.webkit.org/show_bug.cgi?id=237711 Reviewed by Rob Buis. Activate transforms for SVG layers. Use the flag to keep track of the presence of SVG transformations on a renderer. CSS/HTML renderers can rely only on the RenderStyle to determine if transformations are applied, whereas SVG has to consult additional sources, such as the SVG 'transform' attribute. A SVG renderer with the 'HasSVGTransform' flag set should behave like any SVG/HTML renderer that has CSS transformations applied. With this patch applied SVG transform and CSS transforms can be applied to <g> / <rect> elements in LBSE. However, the order of the matrix multiplication is not correct yet for SVG -- that will be adressed in a follow-up patch. Covered by existing tests, no change in behaviour. * platform/graphics/transforms/TransformationMatrix.cpp: (WebCore::TransformationMatrix::multiplyAffineTransform): * platform/graphics/transforms/TransformationMatrix.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::updateLayerTransform): Deleted. * rendering/RenderBox.h: * rendering/RenderLayer.cpp: (WebCore::canCreateStackingContext): (WebCore::RenderLayer::currentTransform const): * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::updateLayerTransform): (WebCore::RenderLayerModelObject::applySVGTransform const): * rendering/RenderLayerModelObject.h: * rendering/RenderObject.cpp: (WebCore::RenderObject::setHasSVGTransform): * rendering/RenderObject.h: (WebCore::RenderObject::hasSVGTransform const): (WebCore::RenderObject::hasTransform const): * rendering/svg/RenderSVGContainer.cpp: (WebCore::SVGLayerTransformUpdater::SVGLayerTransformUpdater): (WebCore::SVGLayerTransformUpdater::~SVGLayerTransformUpdater): (WebCore::RenderSVGContainer::layout): * rendering/svg/RenderSVGContainer.h: (WebCore::RenderSVGContainer::updateLayerInformation): Deleted. * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::updateFromStyle): * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::updateFromStyle): * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::layout): (WebCore::RenderSVGShape::applyTransform const): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::updateFromStyle): (WebCore::RenderSVGTransformableContainer::applyTransform const): * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::animatedLocalTransform const): Canonical link: https://commits.webkit.org/249482@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- Loading branch information
Nikolas Zimmermann
committed
Apr 10, 2022
1 parent
4698fe3
commit 29ecc6f
Showing
18 changed files
with
199 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.