[wpt-sync] Sync PR 58280 - [SVG] Support path-length as a CSS property.
Categories
(Core :: SVG, task, P4)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox150 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 58280 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/58280
Details from upstream follow.
Virali Purbey <viralipurbey@microsoft.com> wrote:
[SVG] Support path-length as a CSS property.
This change adds the
path-lengthCSS property with the syntax
none | \<number [0,∞]>and initial valuenone, and maps the SVG
pathLengthpresentation attribute to it.The CL includes parsing, computed style serialization, interpolation,
style equality, and presentation attribute mapping, plus WPT coverage
for the property, including atextPath display:nonecase as
mentioned here [1].[1] https://github.com/w3c/svgwg/issues/773
Bug: 1045430
Change-Id: I24f79c4b0323fcfd7e61d16cff0aaa0b97fe7818
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7607639
Reviewed-by: Sejal Anand \<sejalanand@microsoft.com>
Reviewed-by: Divyansh Mangal \<dmangal@microsoft.com>
Commit-Queue: Virali Purbey \<viralipurbey@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1594485}
| Assignee | ||
Updated•2 months ago
|
| Assignee | ||
Comment 1•2 months ago
|
||
| Assignee | ||
Comment 2•2 months ago
|
||
CI Results
Ran 11 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 361 tests
Status Summary
Firefox
OK : 12[GitHub] 265[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt]
PASS : 10[Gecko-linux2204-64-wayland-debug, Gecko-linux2204-64-wayland-opt] 2441[GitHub] 2922[Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt] 2979[Gecko-android-em-14-x86_64-lite-opt-geckoview] 2981[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-opt-geckoview] 2982[Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt]
CRASH : 1
FAIL : 56[GitHub] 71[Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt] 92[Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] 93[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-opt-geckoview] 95[Gecko-android-em-14-x86_64-lite-opt-geckoview]
TIMEOUT: 1[Gecko-android-em-14-x86_64-opt-geckoview] 2[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-linux2204-64-wayland-debug, Gecko-linux2404-64-debug, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt]
Chrome
OK : 12
PASS : 2481
FAIL : 85
Safari
OK : 12
PASS : 2463
FAIL : 71
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
Crashes
- /svg/animations/end-of-time-002-crash.html [wpt.fyi]:
CRASH[Gecko-android-em-14-x86_64-opt-geckoview],SKIP[Gecko-linux2204-64-wayland-opt,Gecko-linux2404-64-opt],TIMEOUT[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-linux2204-64-wayland-debug,Gecko-linux2404-64-debug,Gecko-windows11-32-24h2-debug,Gecko-windows11-32-24h2-opt,Gecko-windows11-64-24h2-debug,Gecko-windows11-64-24h2-opt] linked bug:Bug 1984172
Firefox-only Failures
- /web-animations/animation-model/animation-types/accumulation-per-property-002.html [wpt.fyi]
- list-style: "outside url("http://localhost/test-2") square" onto "inside url("http://localhost/test-1") circle":
FAIL
- list-style: "outside url("http://localhost/test-2") square" onto "inside url("http://localhost/test-1") circle":
- /web-animations/animation-model/animation-types/addition-per-property-002.html [wpt.fyi]
- list-style: "outside url("http://localhost/test-2") square" onto "inside url("http://localhost/test-1") circle":
FAIL
- list-style: "outside url("http://localhost/test-2") square" onto "inside url("http://localhost/test-1") circle":
New Tests That Don't Pass
- /svg/animations/end-of-time-001-crash.html [wpt.fyi]:
SKIP[Gecko-linux2204-64-wayland-opt,Gecko-linux2404-64-opt],TIMEOUT[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview,Gecko-linux2204-64-wayland-debug,Gecko-linux2404-64-debug,Gecko-windows11-32-24h2-debug,Gecko-windows11-32-24h2-opt,Gecko-windows11-64-24h2-debug,Gecko-windows11-64-24h2-opt] - /svg/animations/end-of-time-002-crash.html [wpt.fyi]:
CRASH[Gecko-android-em-14-x86_64-opt-geckoview],SKIP[Gecko-linux2204-64-wayland-opt,Gecko-linux2404-64-opt],TIMEOUT[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-linux2204-64-wayland-debug,Gecko-linux2404-64-debug,Gecko-windows11-32-24h2-debug,Gecko-windows11-32-24h2-opt,Gecko-windows11-64-24h2-debug,Gecko-windows11-64-24h2-opt] - /svg/animations/seeking-events-7.html [wpt.fyi]:
SKIP - /svg/animations/seeking-events-8.html [wpt.fyi]:
SKIP - /svg/animations/animate-color-transparent.html [wpt.fyi]
- Tests that 'transparent' is treated as a valid color.:
FAIL
- Tests that 'transparent' is treated as a valid color.:
- /svg/animations/animate-css-xml-attributeType.html [wpt.fyi]
- Tests that XML and CSS attributeTypes can be switched between.:
FAIL
- Tests that XML and CSS attributeTypes can be switched between.:
- /svg/animations/animate-path-animation-Cc-Ss.tentative.html [wpt.fyi]
- Path animation where coordinate modes of start and end differ (C-c and S-s):
FAIL
- Path animation where coordinate modes of start and end differ (C-c and S-s):
- /svg/animations/animate-path-by-animation-accumulate-mismatch.tentative.html [wpt.fyi]
- SVG path 'd' attribute by animation with accumulate='sum' and mismatched commands:
FAIL
- SVG path 'd' attribute by animation with accumulate='sum' and mismatched commands:
- /svg/animations/animate-path-by-animation-additive-mismatch.tentative.html [wpt.fyi]
- SVG path 'd' attribute by animation with additive='sum' and mismatched commands:
FAIL
- SVG path 'd' attribute by animation with additive='sum' and mismatched commands:
- /svg/animations/animate-path-by-animation-mismatch.tentative.html [wpt.fyi]
- SVG path 'd' attribute by animation with mismatched commands:
FAIL
- SVG path 'd' attribute by animation with mismatched commands:
- /svg/animations/animate-pathLength.tentative.html [wpt.fyi]
- SMIL from-to animation of the 'pathLength' attribute:
FAIL(Chrome:FAIL, Safari:FAIL)
- SMIL from-to animation of the 'pathLength' attribute:
- /svg/animations/correct-events-for-short-animations-with-syncbases.html [wpt.fyi]
- Correct events for short animations with syncbases:
FAIL[Gecko-android-em-14-x86_64-lite-opt-geckoview],PASS[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-opt-geckoview,Gecko-linux2404-64-debug,Gecko-linux2404-64-opt,Gecko-windows11-32-24h2-debug,Gecko-windows11-32-24h2-opt,Gecko-windows11-64-24h2-debug,Gecko-windows11-64-24h2-opt]
- Correct events for short animations with syncbases:
- /svg/animations/repeatn-remove-add-animation.html [wpt.fyi]
- Remove and add an animation element while the animation is repeating:
FAIL
- Remove and add an animation element while the animation is repeating:
- /svg/animations/svgboolean-animation-1.html [wpt.fyi]
- Test 'to' animation of SVGBoolean.:
FAIL
- Test 'to' animation of SVGBoolean.:
- /svg/animations/svglength-additive-by-7.html [wpt.fyi]
- This tests by-animations adding to previous underlying values:
FAIL
- This tests by-animations adding to previous underlying values:
- /svg/animations/svglength-additive-by-8.html [wpt.fyi]
- This tests by-animations adding to previous underlying values:
FAIL
- This tests by-animations adding to previous underlying values:
- /svg/animations/svgpath-animation-2.tentative.html [wpt.fyi]
- 'inherit' path animation:
FAIL
- 'inherit' path animation:
- /svg/animations/scripted/animatetransform-type-missing-value-default.html [wpt.fyi]
- <animateTransform> 'type' attribute missing/invalid value default, removed "type" attribute:
FAIL[Gecko-android-em-14-x86_64-lite-opt-geckoview],PASS[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-opt-geckoview,Gecko-linux2404-64-debug,Gecko-linux2404-64-opt,Gecko-windows11-32-24h2-debug,Gecko-windows11-32-24h2-opt,Gecko-windows11-64-24h2-debug,Gecko-windows11-64-24h2-opt]
- <animateTransform> 'type' attribute missing/invalid value default, removed "type" attribute:
- /svg/path/animations/path-length-interpolation.tentative.html [wpt.fyi]
- CSS Transitions: property <path-length> from [0] to [100] at (-0.3) should be [0]:
FAIL(Chrome:FAIL, Safari:FAIL) - CSS Transitions: property <path-length> from [0] to [100] at (0) should be [0]:
FAIL(Chrome:FAIL, Safari:FAIL) - CSS Transitions: property <path-length> from [0] to [100] at (0.5) should be [50]:
FAIL(Chrome:FAIL, Safari:FAIL) - CSS Transitions: property <path-length> from [0] to [100] at (1) should be [100]:
FAIL(Chrome:FAIL, Safari:FAIL) - CSS Transitions: property <path-length> from [0] to [100] at (1.5) should be [150]:
FAIL(Chrome:FAIL, Safari:FAIL) - CSS Transitions with transition: all: property <path-length> from [0] to [100] at (-0.3) should be [0]:
FAIL(Chrome:FAIL, Safari:FAIL) - CSS Transitions with transition: all: property <path-length> from [0] to [100] at (0) should be [0]:
FAIL(Chrome:FAIL, Safari:FAIL) - CSS Transitions with transition: all: property <path-length> from [0] to [100] at (0.5) should be [50]:
FAIL(Chrome:FAIL, Safari:FAIL) - CSS Transitions with transition: all: property <path-length> from [0] to [100] at (1) should be [100]:
FAIL(Chrome:FAIL, Safari:FAIL) - CSS Transitions with transition: all: property <path-length> from [0] to [100] at (1.5) should be [150]:
FAIL(Chrome:FAIL, Safari:FAIL) - CSS Animations: property <path-length> from [0] to [100] at (-0.3) should be [0]:
FAIL(Chrome:FAIL, Safari:FAIL) - CSS Animations: property <path-length> from [0] to [100] at (0) should be [0]:
FAIL(Chrome:FAIL, Safari:FAIL) - CSS Animations: property <path-length> from [0] to [100] at (0.5) should be [50]:
FAIL(Chrome:FAIL, Safari:FAIL) - CSS Animations: property <path-length> from [0] to [100] at (1) should be [100]:
FAIL(Chrome:FAIL, Safari:FAIL) - CSS Animations: property <path-length> from [0] to [100] at (1.5) should be [150]:
FAIL(Chrome:FAIL, Safari:FAIL) - Web Animations: property <path-length> from [0] to [100] at (-0.3) should be [0]:
FAIL(Chrome:FAIL, Safari:FAIL) - Web Animations: property <path-length> from [0] to [100] at (0) should be [0]:
FAIL(Chrome:FAIL, Safari:FAIL) - Web Animations: property <path-length> from [0] to [100] at (0.5) should be [50]:
FAIL(Chrome:FAIL, Safari:FAIL) - Web Animations: property <path-length> from [0] to [100] at (1) should be [100]:
FAIL(Chrome:FAIL, Safari:FAIL) - Web Animations: property <path-length> from [0] to [100] at (1.5) should be [150]:
FAIL(Chrome:FAIL, Safari:FAIL)
- CSS Transitions: property <path-length> from [0] to [100] at (-0.3) should be [0]:
- /svg/path/parsing/path-length-computed.tentative.svg [wpt.fyi]
- Property path-length value 'none':
FAIL(Chrome:FAIL, Safari:FAIL) - Property path-length value '0':
FAIL(Chrome:FAIL, Safari:FAIL) - Property path-length value '0.5':
FAIL(Chrome:FAIL, Safari:FAIL) - Property path-length value '1':
FAIL(Chrome:FAIL, Safari:FAIL) - Property path-length value '100':
FAIL(Chrome:FAIL, Safari:FAIL) - Property path-length value '3.14':
FAIL(Chrome:FAIL, Safari:FAIL) - Property path-length value 'calc(1 + 2)':
FAIL(Chrome:FAIL, Safari:FAIL) - Property path-length value 'calc(-1)':
FAIL(Chrome:FAIL, Safari:FAIL)
- Property path-length value 'none':
- /svg/path/parsing/path-length-valid.tentative.svg [wpt.fyi]
- e.style['path-length'] = "none" should set the property value:
FAIL(Chrome:FAIL, Safari:FAIL) - e.style['path-length'] = "0" should set the property value:
FAIL(Chrome:FAIL, Safari:FAIL) - e.style['path-length'] = "1" should set the property value:
FAIL(Chrome:FAIL, Safari:FAIL) - e.style['path-length'] = "0.5" should set the property value:
FAIL(Chrome:FAIL, Safari:FAIL) - e.style['path-length'] = "100" should set the property value:
FAIL(Chrome:FAIL, Safari:FAIL) - e.style['path-length'] = "3.14" should set the property value:
FAIL(Chrome:FAIL, Safari:FAIL) - e.style['path-length'] = "1e2" should set the property value:
FAIL(Chrome:FAIL, Safari:FAIL) - e.style['path-length'] = "calc(1 + 2)" should set the property value:
FAIL(Chrome:FAIL, Safari:FAIL) - e.style['path-length'] = "calc(infinity)" should set the property value:
FAIL(Chrome:FAIL, Safari:FAIL)
- e.style['path-length'] = "none" should set the property value:
- /svg/path/property/getComputedStyle.svg [wpt.fyi]
- d property of g5 should be path("M 10 5 H 50").:
FAIL - d property of p6 should be path("M 10 5 H 50").:
FAIL
- d property of g5 should be path("M 10 5 H 50").:
- /svg/path/property/inheritance.tentative.svg [wpt.fyi]
- Property path-length has initial value none:
FAIL(Chrome:FAIL, Safari:FAIL) - Property path-length does not inherit:
FAIL(Chrome:FAIL, Safari:FAIL)
- Property path-length has initial value none:
- /svg/path/property/serialization.svg [wpt.fyi]
- Property d value 'path("m 10 20 q 30 60 40 50 q 100 70 90 80")':
FAIL - Property d value 'path("M 0 0 L 100 100 m 0 100 l 100 0 Z l 160 20 Z")':
FAIL - Property d value 'path("m 10 20 l 20 30 Z l 50 60 Z m 70 80 l 90 60 Z t 70 120")':
FAIL - Property d value 'path("m 10.0 170.0 h 90.00 v 30.00 m 0 0 s 1 2 3 4 z c 9 8 7 6 5 4")':
FAIL - Property d value ' path( "m 10 20 a 10 20 30 1 0 40 50 a 110 120 30 1 1 140 50" )':
FAIL
- Property d value 'path("m 10 20 q 30 60 40 50 q 100 70 90 80")':
- /web-animations/animation-model/animation-types/accumulation-per-property-002.html [wpt.fyi]
- list-style: "outside url("http://localhost/test-2") square" onto "inside url("http://localhost/test-1") circle":
FAIL(Chrome:PASS, Safari:PASS) - text-decoration: "overline" onto "underline":
FAIL(Chrome:FAIL, Safari:FAIL) - text-decoration: "underline" onto "overline":
FAIL(Chrome:FAIL, Safari:FAIL)
- list-style: "outside url("http://localhost/test-2") square" onto "inside url("http://localhost/test-1") circle":
- /web-animations/animation-model/animation-types/addition-per-property-002.html [wpt.fyi]
- list-style: "outside url("http://localhost/test-2") square" onto "inside url("http://localhost/test-1") circle":
FAIL(Chrome:PASS, Safari:PASS) - text-decoration: "overline" onto "underline":
FAIL(Chrome:FAIL, Safari:FAIL) - text-decoration: "underline" onto "overline":
FAIL(Chrome:FAIL, Safari:FAIL)
- list-style: "outside url("http://localhost/test-2") square" onto "inside url("http://localhost/test-1") circle":
- /web-animations/animation-model/animation-types/display.tentative.html [wpt.fyi]
- Display can be held by animation:
FAIL
- Display can be held by animation:
- /web-animations/animation-model/animation-types/interpolation-per-property-002.html [wpt.fyi]
- list-style uses discrete animation when animating between "inside url("http://localhost/test-1") circle" and "outside url("http://localhost/test-2") square" with linear easing:
FAIL(Chrome:FAIL, Safari:FAIL) - list-style uses discrete animation when animating between "inside url("http://localhost/test-1") circle" and "outside url("http://localhost/test-2") square" with effect easing:
FAIL(Chrome:FAIL, Safari:FAIL) - list-style uses discrete animation when animating between "inside url("http://localhost/test-1") circle" and "outside url("http://localhost/test-2") square" with keyframe easing:
FAIL(Chrome:FAIL, Safari:FAIL) - text-decoration uses discrete animation when animating between "underline" and "overline" with linear easing:
FAIL(Chrome:FAIL, Safari:FAIL) - text-decoration uses discrete animation when animating between "underline" and "overline" with effect easing:
FAIL(Chrome:FAIL, Safari:FAIL) - text-decoration uses discrete animation when animating between "underline" and "overline" with keyframe easing:
FAIL(Chrome:FAIL, Safari:FAIL)
- list-style uses discrete animation when animating between "inside url("http://localhost/test-1") circle" and "outside url("http://localhost/test-2") square" with linear easing:
- /svg/text/reftests/text-clipped-offscreen-move-onscreen.html [wpt.fyi]:
SKIP - /svg/path/distance/path-length-css-overrides-presentation-attribute.tentative.svg [wpt.fyi]:
FAIL(Chrome:FAIL, Safari:FAIL) - /svg/path/distance/path-length-css-property.tentative.svg [wpt.fyi]:
FAIL(Chrome:FAIL, Safari:FAIL) - /svg/path/distance/path-length-css-zero.tentative.svg [wpt.fyi]:
FAIL(Chrome:FAIL, Safari:FAIL) - /svg/text/reftests/text-bidi-controls-anchors-2.svg [wpt.fyi]:
FAIL[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview],PASS[Gecko-linux2404-64-debug,Gecko-linux2404-64-opt,Gecko-windows11-64-24h2-debug,Gecko-windows11-64-24h2-opt] - /svg/text/reftests/text-complex-001.svg [wpt.fyi]:
FAIL - /svg/text/reftests/text-complex-002.svg [wpt.fyi]:
FAIL - /svg/text/reftests/text-inline-size-001.svg [wpt.fyi]:
FAIL - /svg/text/reftests/text-inline-size-002.svg [wpt.fyi]:
FAIL - /svg/text/reftests/text-inline-size-003.svg [wpt.fyi]:
FAIL - /svg/text/reftests/text-inline-size-005.svg [wpt.fyi]:
FAIL - /svg/text/reftests/text-inline-size-006.svg [wpt.fyi]:
FAIL - /svg/text/reftests/text-inline-size-007.svg [wpt.fyi]:
FAIL - /svg/text/reftests/text-inline-size-101.svg [wpt.fyi]:
FAIL - /svg/text/reftests/text-inline-size-201.svg [wpt.fyi]:
FAIL - /svg/text/reftests/text-multiline-001.svg [wpt.fyi]:
FAIL - /svg/text/reftests/text-multiline-002.svg [wpt.fyi]:
FAIL - /svg/text/reftests/text-multiline-003.svg [wpt.fyi]:
FAIL - /svg/text/reftests/text-shape-inside-001.svg [wpt.fyi]:
FAIL - /svg/text/reftests/text-shape-inside-002.svg [wpt.fyi]:
FAIL - /svg/text/reftests/textpath-pathlength-css-display-none.tentative.svg [wpt.fyi]:
FAIL(Chrome:FAIL, Safari:FAIL) - /svg/text/reftests/textpath-shape-001.svg [wpt.fyi]:
FAIL - /svg/text/reftests/textpath-side-001.svg [wpt.fyi]:
FAIL
Tests Disabled in Gecko Infrastructure
- /svg/animations/end-of-time-001-crash.html [wpt.fyi]:
SKIP[Gecko-linux2204-64-wayland-opt,Gecko-linux2404-64-opt],TIMEOUT[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview,Gecko-linux2204-64-wayland-debug,Gecko-linux2404-64-debug,Gecko-windows11-32-24h2-debug,Gecko-windows11-32-24h2-opt,Gecko-windows11-64-24h2-debug,Gecko-windows11-64-24h2-opt] linked bug:Bug 1984172 - /svg/animations/end-of-time-002-crash.html [wpt.fyi]:
CRASH[Gecko-android-em-14-x86_64-opt-geckoview],SKIP[Gecko-linux2204-64-wayland-opt,Gecko-linux2404-64-opt],TIMEOUT[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-linux2204-64-wayland-debug,Gecko-linux2404-64-debug,Gecko-windows11-32-24h2-debug,Gecko-windows11-32-24h2-opt,Gecko-windows11-64-24h2-debug,Gecko-windows11-64-24h2-opt] linked bug:Bug 1984172 - /svg/animations/seeking-events-7.html [wpt.fyi]:
SKIP - /svg/animations/seeking-events-8.html [wpt.fyi]:
SKIP - /svg/text/reftests/text-clipped-offscreen-move-onscreen.html [wpt.fyi]:
SKIP
https://hg.mozilla.org/mozilla-central/rev/93a8f6899151
https://hg.mozilla.org/mozilla-central/rev/997266ac46e2
Description
•