Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6f4ddb08007e4c0539e85cc480bbff529f900c16
      
https://github.com/WebKit/WebKit/commit/6f4ddb08007e4c0539e85cc480bbff529f900c16
  Author: Ahmad Saleem <[email protected]>
  Date:   2026-06-08 (Mon, 08 Jun 2026)

  Changed paths:
    M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-002-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-004-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/svg/path/property/d-interpolation-relative-absolute-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/svg/path/property/d-interpolation-single-expected.txt
    M Source/WebCore/svg/SVGPathBlender.cpp

  Log Message:
  -----------
  [SVG] d property arc flags should interpolate as non-zero booleans
https://bugs.webkit.org/show_bug.cgi?id=316499
rdar://178950624

Reviewed by Simon Fraser.

Per Spec [1], "Flags and booleans are interpolated as fractions between zero
and one, with any non-zero value considered to be a value of one/true."

When interpolating the `d` property, WebKit instead picked the large-arc and
sweep flags of an arc (A/a) segment from the nearer endpoint (from for the
first half of the animation, to for the second) rather than interpolating
them. This produced the wrong flags at fractional progress (e.g. 0.125 /
0.875).

Interpolate each flag numerically with progress clamped to [0, 1] and treat
any non-zero result as a set flag, matching <path> behaviour and the spec.

[1] https://w3c.github.io/svgwg/specs/paths/#PathElement

* 
LayoutTests/imported/w3c/web-platform-tests/svg/path/property/d-interpolation-relative-absolute-expected.txt:
 Progressions
* 
LayoutTests/imported/w3c/web-platform-tests/svg/path/property/d-interpolation-single-expected.txt:
 Ditto
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-002-expected.txt:
 Ditto
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-004-expected.txt:
 Ditto
* Source/WebCore/svg/SVGPathBlender.cpp:
(WebCore::SVGPathBlender::blendArcToSegment):

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



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

Reply via email to