Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e34f69a66691276689fdaccbe67c44a0a91be982
      
https://github.com/WebKit/WebKit/commit/e34f69a66691276689fdaccbe67c44a0a91be982
  Author: Nikolas Zimmermann <[email protected]>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    A 
LayoutTests/svg/transforms/transform-preserved-after-opacity-layer-removal-expected.html
    A 
LayoutTests/svg/transforms/transform-preserved-after-opacity-layer-removal.html
    M Source/WebCore/rendering/RenderLayerModelObject.cpp

  Log Message:
  -----------
  [LBSE] Preserve 2D transform flags when an SVG renderer loses its layer
https://bugs.webkit.org/show_bug.cgi?id=317574

Reviewed by Rob Buis.

RenderLayerModelObject::styleDidChange() unconditionally cleared
hasTransformRelatedProperty()/hasSVGTransform() in the layer-removal
branch, on the assumption that any transform-related property forces a
layer. That holds for CSS renderers but not under LBSE with conditional
layer creation activated, where a plain 2D SVG transform needs no layer.
So an SVG leaf that had a layer only for a grouping effect (for example
opacity) and then loses that effect would have its transform flags wiped
and never restored, leaving isTransformed() false and the element
painting untransformed...

updateFromStyle() (run at the top of styleDidChange) already sets the
correct flags for every SVG layer-aware renderer, so skip the clearing
for them and let those values stand as they are.

Test: svg/transforms/transform-preserved-after-opacity-layer-removal.html

* 
LayoutTests/svg/transforms/transform-preserved-after-opacity-layer-removal-expected.html:
 Added.
* 
LayoutTests/svg/transforms/transform-preserved-after-opacity-layer-removal.html:
 Added.
* Source/WebCore/rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::styleDidChange):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to