Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ec9527d7aa0c7ee697f0b3a0f55e2fb8a7b6ed14
      
https://github.com/WebKit/WebKit/commit/ec9527d7aa0c7ee697f0b3a0f55e2fb8a7b6ed14
  Author: Tim Nguyen <[email protected]>
  Date:   2022-09-22 (Thu, 22 Sep 2022)

  Changed paths:
    M LayoutTests/TestExpectations
    M Source/WebCore/rendering/svg/RenderSVGText.cpp
    M Source/WebCore/svg/SVGTextElement.cpp
    M Source/WebCore/svg/SVGTextElement.h

  Log Message:
  -----------
  Percentage-based translations don't work with SVG <text>
https://bugs.webkit.org/show_bug.cgi?id=245122
<rdar://99854408>

Reviewed by Myles C. Maxfield.

The two main issues are:
- Stale SVGTextElement::animatedLocalTransform() function:
Historically, all SVG elements have had the same animatedLocalTransform 
function, see: 
https://github.com/WebKit/WebKit/commit/f8cc29f9d2d96f5761a8aab9f6bd31afb0edf0a8
This looks like an artifact of when SVGTextElement did not inherit from the 
common SVGGraphicsElement class, where we had to add the same function twice.
Removing this code puts it in-line with 
SVGGraphicsElement::animatedLocalTransform() which does take in account the 
reference box rect (for percentage based transforms) and transform-origin.

- We also need to compute transform at the end of RenderSVGText::layout, to 
avoid computing with the wrong bounds (which may happen if the font hasn't 
loaded yet).

Rebaseline tests resulting from these changes (mainly minor differences in 
dimensions that match other browsers).

Test: 
imported/w3c/web-platform-tests/css/css-transforms/transform-box/view-box-mutation-002.html

* LayoutTests/TestExpectations:
* Source/WebCore/rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout):
* Source/WebCore/svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::animatedLocalTransform const): Deleted.
* Source/WebCore/svg/SVGTextElement.h:

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to