Closed Bug 1663038 Opened 5 years ago Closed 5 years ago

[wpt-sync] Sync PR 25393 - [scroll-animations] Support element-based offsets in @scroll-timeline

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox83 fixed)

RESOLVED FIXED
83 Branch
Tracking Status
firefox83 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 25393 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/25393
Details from upstream follow.

b'Anders Hartvoll Ruud <andruud@chromium.org>' wrote:

[scroll-animations] Support element-based offsets in @scroll-timeline

This CL implements support for element-based offsets in the CSS API.
In order to make parsing as painless as possible, the code that
consumes a selector(\<id-selector>) has been moved from
at_rule_descriptor_parser to a separate function in css_parsing_utils
(ConsumeSelectorFunction). This makes it possible to reuse that code
for parsing element-based offsets.

Note that the drive-by removal of the ConsumeWhitespace() call at the
beginning of ConsumeScrollOffset is just to align with the convention
that whitespace should be consumed before a Consume* function is
called.

Bug: 1102788, 1074052
Change-Id: I8caa3caa4fe1efe05b4d451c989e10bb9f67267c
Reviewed-on: https://chromium-review.googlesource.com/2391072
WPT-Export-Revision: 3391d96a8fc463172403d0b21c2d72faa884f8e2

CI Results

Ran 12 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 2 tests and 107 subtests

Status Summary

Firefox

OK : 2
PASS: 20
FAIL: 141

Chrome

OK : 2
PASS: 20
FAIL: 141

Safari

OK : 2
PASS: 20
FAIL: 141

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/scroll-animations/css/at-scroll-timeline-element-offsets.html: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] (Chrome: OK, Safari: OK)
Scroll at offset 0 updates animation correctly [element_start_start]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 199 updates animation correctly [element_start_start]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 300 updates animation correctly [element_start_start]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 398 updates animation correctly [element_start_start]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 400 updates animation correctly [element_start_start]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 0 updates animation correctly [element_end_end]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 49 updates animation correctly [element_end_end]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 150 updates animation correctly [element_end_end]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 248 updates animation correctly [element_end_end]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 250 updates animation correctly [element_end_end]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 0 updates animation correctly [element_end_start]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 49 updates animation correctly [element_end_start]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 225 updates animation correctly [element_end_start]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 393 updates animation correctly [element_end_start]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 400 updates animation correctly [element_end_start]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 0 updates animation correctly [element_end_1_end]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 99 updates animation correctly [element_end_1_end]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 175 updates animation correctly [element_end_1_end]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 247 updates animation correctly [element_end_1_end]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 250 updates animation correctly [element_end_1_end]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 0 updates animation correctly [element_end_start_05]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 49 updates animation correctly [element_end_start_05]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 206 updates animation correctly [element_end_start_05]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 362 updates animation correctly [element_end_start_05]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 375 updates animation correctly [element_end_start_05]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 0 updates animation correctly [element_start_400px]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 199 updates animation correctly [element_start_400px]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 300 updates animation correctly [element_start_400px]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 398 updates animation correctly [element_start_400px]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 400 updates animation correctly [element_start_400px]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 0 updates animation correctly [element_50px_end]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 49 updates animation correctly [element_50px_end]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 150 updates animation correctly [element_50px_end]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 248 updates animation correctly [element_50px_end]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 250 updates animation correctly [element_50px_end]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 0 updates animation correctly [element_outside]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 100 updates animation correctly [element_outside]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 200 updates animation correctly [element_outside]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 300 updates animation correctly [element_outside]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 400 updates animation correctly [element_outside]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 450 updates animation correctly [element_outside]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 0 updates animation correctly [element_display_none]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 100 updates animation correctly [element_display_none]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 200 updates animation correctly [element_display_none]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 300 updates animation correctly [element_display_none]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 400 updates animation correctly [element_display_none]: FAIL (Chrome: FAIL, Safari: FAIL)
Scroll at offset 450 updates animation correctly [element_display_none]: FAIL (Chrome: FAIL, Safari: FAIL)
/scroll-animations/css/scroll-timeline-cssom.tentative.html: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] (Chrome: OK, Safari: OK)
Empty block: FAIL (Chrome: FAIL, Safari: FAIL)
EOF ends block: FAIL (Chrome: FAIL, Safari: FAIL)
Timeline name can be a <string>: FAIL (Chrome: FAIL, Safari: FAIL)
CSSRule.type returns 0: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.name foo: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.name Foo: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.name f___123: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.name a\9 b: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.name "foo": FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.name "none": FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source selector(#foo): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source selector( #foo ): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source selector(#foo) : FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source none: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source none : FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source selector(#a\9 b): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source auto: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source #foo: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source : FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source element(#foo): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source selector(#foo more): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source selector(html): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source selector(foo): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source selector(:before): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source selector(*): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source selector(.a): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.source selector(.a, .b): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.orientation auto: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.orientation block: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.orientation inline: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.orientation horizontal: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.orientation vertical: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.orientation vertical : FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.orientation : FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.orientation foo: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.orientation 10px: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.orientation red: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start auto: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end auto: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start auto : FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end auto : FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start 10px: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end 10px: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start 10px : FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end 10px : FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start 10em: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end 10em: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start 10%: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end 10%: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start calc(1px + 1%): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end calc(1px + 1%): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start : FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end : FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start red: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end red: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start #fff: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end #fff: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start unset: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end unset: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start unknown(#foo): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end unknown(#foo): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start start: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end start: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start end: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end end: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start 3: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end 3: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start selector(#foo): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end selector(#foo): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start selector(#foo): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end selector(#foo): FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start selector(#foo) start: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end selector(#foo) start: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start selector(#foo) start 3: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end selector(#foo) start 3: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start selector(#foo) 3: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end selector(#foo) 3: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start selector(#foo) 3.5: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end selector(#foo) 3.5: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start selector(#foo) end: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end selector(#foo) end: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start selector(#foo) end 3: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end selector(#foo) end 3: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.start selector(#foo) 3 end: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.end selector(#foo) 3 end: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.timeRange auto: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.timeRange auto : FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.timeRange 1s: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.timeRange 1s : FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.timeRange 1000ms: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.timeRange : FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.timeRange red: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.timeRange #fff: FAIL (Chrome: FAIL, Safari: FAIL)
CSSScrollTimelineRule.timeRange unset: FAIL (Chrome: FAIL, Safari: FAIL)

Tests Disabled in Gecko Infrastructure

/scroll-animations/css/at-scroll-timeline-element-offsets.html: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] (Chrome: OK, Safari: OK)
/scroll-animations/css/scroll-timeline-cssom.tentative.html: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] (Chrome: OK, Safari: OK)

Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5b3994fe8dc3 [wpt PR 25393] - [scroll-animations] Support element-based offsets in @scroll-timeline, a=testonly
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 83 Branch
You need to log in before you can comment on or make changes to this bug.