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