Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b3b752433b78753c0744f4fed28036380c512c6b
      
https://github.com/WebKit/WebKit/commit/b3b752433b78753c0744f4fed28036380c512c6b
  Author: Ahmad Saleem <[email protected]>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    A LayoutTests/svg/animations/animateMotion-accumulate-1a-expected.svg
    A LayoutTests/svg/animations/animateMotion-accumulate-1a.svg
    A LayoutTests/svg/animations/animateMotion-accumulate-1b-expected.svg
    A LayoutTests/svg/animations/animateMotion-accumulate-1b.svg
    A LayoutTests/svg/animations/animateMotion-accumulate-1c-expected.svg
    A LayoutTests/svg/animations/animateMotion-accumulate-1c.svg
    A LayoutTests/svg/animations/animateMotion-accumulate-2a-expected.svg
    A LayoutTests/svg/animations/animateMotion-accumulate-2a.svg
    A LayoutTests/svg/animations/animateMotion-accumulate-2b-expected.svg
    A LayoutTests/svg/animations/animateMotion-accumulate-2b.svg
    M Source/WebCore/svg/SVGAnimateMotionElement.cpp

  Log Message:
  -----------
  [SVG] animateMotion accumulate doesn't work properly with rotate: auto / 
auto-reverse

https://bugs.webkit.org/show_bug.cgi?id=256928
rdar://problem/109489241

Reviewed by Simon Fraser.

This patch aligns WebKit behavior with Gecko / Firefox and Blink / Chromium.

Merge: https://src.chromium.org/viewvc/blink?view=revision&revision=154375

We need not accumulate the angle for animation as we have a method to get 
normal angle at a given length on the path.
So, only position needs to be accumulated. Also made some changes to simplify 
the logic for accumulation.

* Source/WebCore/svg/SVGAnimateMotionElement.cpp:
(SVGAnimateMotionElement::buildTransformForProgress): Remove 'angle' 
accumulation from here
(SVGAnimateMotionElement::calculateAnimatedValue): Move here
* LayoutTests/svg/animations/animateMotion-accumulate-1a.svg: Add Test Case
* LayoutTests/svg/animations/animateMotion-accumulate-1a-expected.svg: Add Test 
Case Expectation
* LayoutTests/svg/animations/animateMotion-accumulate-1b.svg: Add Test Case
* LayoutTests/svg/animations/animateMotion-accumulate-1b-expected.svg: Add Test 
Case Expectation
* LayoutTests/svg/animations/animateMotion-accumulate-1c.svg: Add Test Case
* LayoutTests/svg/animations/animateMotion-accumulate-1c-expected.svg: Add Test 
Case Expectation
* LayoutTests/svg/animations/animateMotion-accumulate-2a.svg: Add Test Case
* LayoutTests/svg/animations/animateMotion-accumulate-2a-expected.svg: Add Test 
Case Expectation
* LayoutTests/svg/animations/animateMotion-accumulate-2b.svg: Add Test Case
* LayoutTests/svg/animations/animateMotion-accumulate-2b-expected.svg: Add Test 
Case Expectation

All tests have slight pixel tolerances to accommodate for platform differences.

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


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

Reply via email to