Closed
Bug 1777107
Opened 2 years ago
Closed 2 years ago
[wpt-sync] Sync PR 34631 - [ViewTimeline] Implement offsets based on enter-start to exit-end.
Categories
(Testing :: web-platform-tests, task, P4)
Testing
web-platform-tests
Tracking
(firefox104 fixed)
RESOLVED
FIXED
104 Branch
Tracking | Status | |
---|---|---|
firefox104 | --- | fixed |
People
(Reporter: mozilla.org, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream error])
Attachments
(2 files, 3 obsolete files)
Sync web-platform-tests PR 34631 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/34631
Details from upstream follow.
Kevin Ellis <kevers@google.com> wrote:
[ViewTimeline] Implement offsets based on enter-start to exit-end.
Bug: 1329159
Change-Id: I52af3ebc81ddcf5691d66ef169b7738fdf0a4850
Reviewed-on: https://chromium-review.googlesource.com/3726423
WPT-Export-Revision: e2722cc8731f14ffe2cb295a61521c8feae36730
Comment hidden (spam) |
Assignee | ||
Updated•2 years ago
|
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Assignee | ||
Comment 5•2 years ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/#/jobs?repo=try&revision=34f786892397194ec23b9cb06a309244d7338b65
Assignee | ||
Comment 6•2 years ago
|
||
# CI Results Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI Total 37 tests ## Status Summary ### Firefox `OK` : 7[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-32-2004-qr-debug, Gecko-windows10-32-2004-qr-opt, Gecko-windows10-64-2004-qr-debug, Gecko-windows10-64-2004-qr-opt] 27[GitHub] `FAIL` : 15[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-32-2004-qr-debug, Gecko-windows10-32-2004-qr-opt, Gecko-windows10-64-2004-qr-debug, Gecko-windows10-64-2004-qr-opt] 307[GitHub] `TIMEOUT`: 10 ### Chrome `OK` : 26 `PASS` : 307 `FAIL` : 9 `TIMEOUT`: 2 ### Safari `OK` : 27 `FAIL` : 307 `TIMEOUT`: 10 ## Links [Gecko CI (Treeherder)](https://treeherder.mozilla.org/#/jobs?repo=try&revision=34f786892397194ec23b9cb06a309244d7338b65) [GitHub PR Head](https://wpt.fyi/results/?sha=e6f745418bd5bb6111186ccf35c695ac3b374e51&label=pr_head) [GitHub PR Base](https://wpt.fyi/results/?sha=e6f745418bd5bb6111186ccf35c695ac3b374e51&label=pr_base) ## Details ### New Tests That Don't Pass * [/scroll-animations/scroll-timelines/cancel-animation.html](https://wpt.live/scroll-animations/scroll-timelines/cancel-animation.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/cancel-animation.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Canceling an animation should cause its start time and hold time to be unresolved: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * A play-pending ready promise should be rejected when the animation is canceled: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * A pause-pending ready promise should be rejected when the animation is canceled: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * When an animation is canceled, it should create a resolved Promise: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * The ready promise should be replaced when the animation is canceled: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * The finished promise should NOT be rejected if the animation is already idle: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * The cancel event should NOT be fired if the animation is already idle: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Canceling an animation should fire cancel event on orphaned element: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Canceling an animation with inactive timeline should cause its start time and hold time to be unresolved: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * oncancel event is fired when the timeline is inactive.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/current-time-root-scroller.html](https://wpt.live/scroll-animations/scroll-timelines/current-time-root-scroller.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/current-time-root-scroller.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * currentTime calculates the correct time for a document.scrollingElement source: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/current-time-writing-modes.html](https://wpt.live/scroll-animations/scroll-timelines/current-time-writing-modes.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/current-time-writing-modes.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * currentTime handles direction: rtl correctly: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * currentTime handles writing-mode: vertical-rl correctly: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * currentTime handles writing-mode: vertical-lr correctly: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/effect-updateTiming.html](https://wpt.live/scroll-animations/scroll-timelines/effect-updateTiming.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/effect-updateTiming.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Allows setting the delay to a positive number: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the delay to a negative number: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the delay of an animation in progress: positive delay that causes the animation to be no longer in-effect: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the delay of an animation in progress: negative delay that seeks into the active interval: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the delay of an animation in progress: large negative delay that causes the animation to be finished: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting invalid delay value: NaN: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting invalid delay value: Infinity: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting invalid delay value: -Infinity: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the endDelay to a positive number: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the endDelay to a negative number: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting the endDelay to infinity: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting the endDelay to negative infinity: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the fill to 'none': `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the fill to 'forwards': `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the fill to 'backwards': `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the fill to 'both': `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the iterationStart of an animation in progress: backwards-filling: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the iterationStart of an animation in progress: active phase: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the iterationStart of an animation in progress: forwards-filling: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting invalid iterationStart value: -1: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting invalid iterationStart value: NaN: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting invalid iterationStart value: Infinity: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting invalid iterationStart value: -Infinity: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting iterations to a double value: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting iterations to Infinity: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the iterations of an animation in progress: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the iterations of an animation in progress with duration "auto": `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the duration to 123.45: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the duration to auto: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting invalid duration: -1: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting invalid duration: NaN: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting invalid duration: Infinity: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting invalid duration: -Infinity: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting invalid duration: "abc": `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Throws when setting invalid duration: "100": `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the duration of an animation in progress: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the duration of an animation in progress such that the the start and current time do not change: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the direction to each of the possible keywords: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the direction of an animation in progress from 'normal' to 'reverse': `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the direction of an animation in progress from 'normal' to 'reverse' while at start of active interval: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the direction of an animation in progress from 'normal' to 'reverse' while filling backwards: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the direction of an animation in progress from 'normal' to 'alternate': `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the direction of an animation in progress from 'alternate' to 'alternate-reverse': `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the easing to a step-start function: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the easing to a steps(1, start) function: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the easing to a steps(2, start) function: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the easing to a step-end function: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the easing to a steps(1) function: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the easing to a steps(1, end) function: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the easing to a steps(2, end) function: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the easing to a linear function: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the easing to a ease function: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the easing to a ease-in function: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the easing to a ease-in-out function: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the easing to a ease-out function: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the easing to a easing function which produces values greater than 1: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the easing to a easing function which produces values less than 1: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updates the specified value when setting the easing to 'ease': `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updates the specified value when setting the easing to 'linear': `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updates the specified value when setting the easing to 'ease-in': `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updates the specified value when setting the easing to 'ease-out': `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updates the specified value when setting the easing to 'ease-in-out': `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updates the specified value when setting the easing to 'cubic-bezier(0.1, 5, 0.23, 0)': `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updates the specified value when setting the easing to 'steps(3, start)': `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updates the specified value when setting the easing to 'steps(3)': `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Allows setting the easing of an animation in progress: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/finish-animation.html](https://wpt.live/scroll-animations/scroll-timelines/finish-animation.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/finish-animation.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Finishing an animation with a zero playback rate throws: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing an animation seeks to the end time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing an animation with a current time past the effect end jumps back to the end: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing a reversed animation jumps to zero time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing a reversed animation with a current time less than zero makes it jump back to zero: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing an animation while play-pending resolves the pending task immediately: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing an animation attached to inactive timeline while play-pending doesn't resolves the pending task: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing an animation resolves the finished promise synchronously: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * A pending ready promise is resolved and not replaced when the animation is finished: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing an animation fires finish event on orphaned element: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing a canceled animation sets the current and start times: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing idle animation produces correct state and fires finish event.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing idle animation attached to inactive timeline pauses the animation.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing running animation produces correct state and fires finish event.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing running animation attached to inactive timeline pauses the animation.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing a paused animation resolves the start time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing a pause-pending animation resolves the pending task immediately and update the start time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing a pause-pending animation with negative playback rate resolves the pending task immediately: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finishing an animation during an aborted pause makes it finished immediately: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * A pending playback rate should be applied immediately when an animation is finished: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * An exception should be thrown if the effective playback rate is zero: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/pause-animation.html](https://wpt.live/scroll-animations/scroll-timelines/pause-animation.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/pause-animation.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Pausing clears the start time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Aborting a pause preserves the start time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * A pending ready promise should be resolved and not replaced when the animation is paused: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * A pause-pending animation maintains the current time when applying a pending playback rate: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * The animation's current time remains fixed after pausing: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Pausing a canceled animation sets the current time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Pause pending task doesn't run when the timeline is inactive.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Animation start and current times are correct if scroll timeline is activated after animation.pause call.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/play-animation.html](https://wpt.live/scroll-animations/scroll-timelines/play-animation.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/play-animation.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Playing a running animation leaves the current time unchanged: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Playing a finished animation seeks back to the start: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Playing a finished and reversed animation seeks to end: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Playing a pause-pending but previously finished animation seeks back to to the start: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Playing a finished animation clears the start time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * The ready promise should be replaced if the animation is not already pending: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * A pending ready promise should be resolved and not replaced when the animation enters the running state: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Resuming an animation from paused calculates start time from hold time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * If a pause operation is interrupted, the ready promise is reused: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * A pending playback rate is used when determining auto-rewind behavior: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Playing a canceled animation sets the start time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Playing a canceled animation backwards sets the start time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/reverse-animation.html](https://wpt.live/scroll-animations/scroll-timelines/reverse-animation.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/reverse-animation.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Reversing an animation inverts the playback rate: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Reversing an animation maintains the same current time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Reversing an animation does not cause it to leave the pending state: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Reversing an animation does not cause it to resolve the ready promise: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Reversing an animation when playbackRate > 0 and currentTime > effect end should make it play from the end: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Reversing an animation when playbackRate > 0 and currentTime < 0 should make it play from the end: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Reversing an animation when playbackRate < 0 and currentTime < 0 should make it play from the start: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Reversing an animation when playbackRate < 0 and currentTime > effect end should make it play from the start: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Reversing when when playbackRate == 0 should preserve the current time and playback rate: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Reversing an idle animation from starts playing the animation: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Reversing an animation without an active timeline throws an InvalidStateError: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Reversing an animation plays a pausing animation: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Reversing should use the negative pending playback rate: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/scroll-animation-effect-fill-modes.tentative.html](https://wpt.live/scroll-animations/scroll-timelines/scroll-animation-effect-fill-modes.tentative.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/scroll-animation-effect-fill-modes.tentative.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Scroll based animation effect fill mode should return 'auto' for getTiming() and should return 'none' for getComputedTiming().: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value before start delay with fill: none: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value at start delay with fill: none: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value at midpoint with fill: none: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value at effect end with fill: none: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value after effect end with fill: none: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value before start delay with fill: backwards: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value at start delay with fill: backwards: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value at midpoint with fill: backwards: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value at effect end with fill: backwards: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value after effect end with fill: backwards: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value before timeline start with fill: forwards: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value at timeline start with fill: forwards: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value in timeline range with fill: forwards: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value at timeline end with fill: forwards: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value after timeline end with fill: forwards: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value before timeline start with fill: both: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value at timeline start with fill: both: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value in timeline range with fill: both: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value at timeline end with fill: both: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value after timeline end with fill: both: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value before timeline start with fill: auto: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value at timeline start with fill: auto: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value in timeline range with fill: auto: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value at timeline end with fill: auto: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Applied effect value after timeline end with fill: auto: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/scroll-animation-effect-phases.tentative.html](https://wpt.live/scroll-animations/scroll-timelines/scroll-animation-effect-phases.tentative.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/scroll-animation-effect-phases.tentative.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Current times and effect phase at start when delay = 0 and endDelay = 0 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase in active range when delay = 0 and endDelay = 0 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase at effect end time when delay = 0 and endDelay = 0 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase at timeline start when delay = 500 and endDelay = 0 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase before start delay when delay = 500 and endDelay = 0 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase at start delay when delay = 500 and endDelay = 0 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase in active range when delay = 500 and endDelay = 0 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase at effect end time when delay = 500 and endDelay = 0 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase at timeline start when delay = 0 and endDelay = 500 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase in active range when delay = 0 and endDelay = 500 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase at effect end time when delay = 0 and endDelay = 500 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase after effect end time when delay = 0 and endDelay = 500 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase at timeline boundary when delay = 0 and endDelay = 500 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase at timeline start when delay = 250 and endDelay = 250 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase before start delay when delay = 250 and endDelay = 250 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase at start delay when delay = 250 and endDelay = 250 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase in active range when delay = 250 and endDelay = 250 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase at effect end time when delay = 250 and endDelay = 250 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase after effect end time when delay = 250 and endDelay = 250 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase at timeline boundary when delay = 250 and endDelay = 250 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase at timeline start when delay = -125 and endDelay = -125 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase in active range when delay = -125 and endDelay = -125 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Current times and effect phase at timeline end when delay = -125 and endDelay = -125 |: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Verify that (play -> pause -> play) doesn't change phase/progress.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Pause in before phase, scroll timeline into active phase, animation should remain in the before phase: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Pause in before phase, set animation current time to be in active range, animation should become active. Scrolling should have no effect.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Make scroller inactive, then set current time to an in range time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Animation effect is still applied after pausing and making timeline inactive.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Make timeline inactive, force style update then pause the animation. No crashing indicates test success.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/scroll-animation-inactive-timeline.html](https://wpt.live/scroll-animations/scroll-timelines/scroll-animation-inactive-timeline.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/scroll-animation-inactive-timeline.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Play pending task doesn't run when the timeline is inactive.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Animation start and current times are correct if scroll timeline is activated after animation.play call.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Animation start and current times are correct if scroll timeline is activated after setting start time.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Animation current time is correct when the timeline becomes newly inactive and then active again.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/scroll-animation.html](https://wpt.live/scroll-animations/scroll-timelines/scroll-animation.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/scroll-animation.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Animation start and current times are correct for each animation state.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Animation start and current times are correct for each animation state when the animation starts playing with advanced scroller.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Animation start and current times are correct when multiple animations are attached to the same timeline.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finished animation plays on reverse scrolling.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Sending animation finished events by finished animation on reverse scrolling.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/scroll-timeline-invalidation.html](https://wpt.live/scroll-animations/scroll-timelines/scroll-timeline-invalidation.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/scroll-timeline-invalidation.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Animation current time and effect local time are updated after scroller content size changes.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Animation current time and effect local time are updated after scroller size changes.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * If scroll animation resizes its scroll timeline scroller, layout runs only once to reflect the initial update.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/scroll-timeline-snapshotting.html](https://wpt.live/scroll-animations/scroll-timelines/scroll-timeline-snapshotting.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/scroll-timeline-snapshotting.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `TIMEOUT`, Safari: `OK`) * ScrollTimeline current time is updated after programmatic animated scroll.: `FAIL` (Chrome: `TIMEOUT`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/setting-current-time.html](https://wpt.live/scroll-animations/scroll-timelines/setting-current-time.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/setting-current-time.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Setting animation current time to null throws TypeError.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting the current time to an absolute time value throws exception: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Set animation current time to a valid value without playing.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Set animation current time to a valid value while playing.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Set animation current time to a value beyond effect end.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Set animation current time to a negative value.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting current time while play pending overrides the current time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting animation.currentTime then restarting the animation should reset the current time.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Set Animation current time then scroll.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Animation current time and play state are correct when current time is set while the timeline is inactive.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Animation current time set while the timeline is inactive holds when the timeline becomes active again.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/setting-playback-rate.html](https://wpt.live/scroll-animations/scroll-timelines/setting-playback-rate.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/setting-playback-rate.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Zero current time is not affected by playbackRate set while the animation is in idle state.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Zero current time is not affected by playbackRate set while the animation is in play-pending state.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Initial current time is scaled by playbackRate set while scroll-linked animation is in running state.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * The current time is not affected by playbackRate set while the scroll-linked animation is in play state.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * The playback rate set before scroll-linked animation started playing affects the rate of progress of the current time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * The playback rate affects the rate of progress of the current time when scrolling: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting the playback rate while play-pending preserves the current time from scrollTimeline.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting the playback rate while play-pending preserves the set current time.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting the playback rate while playing preserves the current time from scrollTimeline.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting the playback rate while playing preserves the set current time.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Negative initial playback rate should correctly modify initial current time.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Reversing the playback rate while playing correctly impacts current time during future scrolls: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Zero initial playback rate should correctly modify initial current time.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting a zero playback rate while running preserves the current time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/setting-start-time.html](https://wpt.live/scroll-animations/scroll-timelines/setting-start-time.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/setting-start-time.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Setting the start time to an absolute time value throws exception: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting the start time clears the hold time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting the start time clears the hold time when the timeline is inactive: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting an unresolved start time sets the hold time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting an unresolved start time sets the hold time to unresolved when the timeline is inactive: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting the start time resolves a pending ready promise: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting the start time resolves a pending ready promise when the timelineis inactive: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting an unresolved start time on a play-pending animation makes it paused: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting an unresolved start time on a play-pending animation makes it idle when the timeline is inactive: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting the start time updates the finished state: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting the start time on a running animation updates the play state: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting the start time on a reverse running animation updates the play state: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting the start time resolves a pending pause task: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting the start time of a play-pending animation applies a pending playback rate: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting the start time of a playing animation applies a pending playback rate: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/setting-timeline.tentative.html](https://wpt.live/scroll-animations/scroll-timelines/setting-timeline.tentative.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/setting-timeline.tentative.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Setting a scroll timeline on a play-pending animation synchronizes currentTime of the animation with the scroll position.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting a scroll timeline on a pause-pending animation fixes the currentTime of the animation based on the scroll position once resumed: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting a scroll timeline on a reversed play-pending animation synchronizes the currentTime of the animation with the scroll position.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting a scroll timeline on a running animation synchronizes the currentTime of the animation with the scroll position.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting a scroll timeline on a paused animation fixes the currentTime of the animation based on the scroll position when resumed: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Setting a scroll timeline on a reversed paused animation fixes the currentTime of the animation based on the scroll position when resumed: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Transitioning from a scroll timeline to a document timeline on a running animation preserves currentTime: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Transitioning from a scroll timeline to a document timeline on a pause-pending animation preserves currentTime: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Transition from a scroll timeline to a document timeline on a reversed paused animation maintains correct currentTime: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Transitioning from a scroll timeline to a null timeline on a running animation preserves the play state: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Switching from a null timeline to a scroll timeline on an animation with a resolved start time preserved the play state: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Switching from one scroll timeline to another updates currentTime: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Switching from a document timeline to a scroll timeline updates currentTime when unpaused via CSS.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Switching from a document timeline to a scroll timeline and updating currentTime preserves the new value when unpaused.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Switching from a document timeline to a scroll timeline and updating startTime preserves the new value when play is called.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Switching from a document timeline to a scroll timeline on an infinite duration animation.: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/update-playback-rate.html](https://wpt.live/scroll-animations/scroll-timelines/update-playback-rate.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/update-playback-rate.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Updating the playback rate maintains the current time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the playback rate while running makes the animation pending: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the playback rate on a play-pending animation maintains the current time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the playback rate on a pause-pending animation maintains the current time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * If a pending playback rate is set multiple times, the latest wins: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * In the idle state, the playback rate is applied immediately: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * In the paused state, the playback rate is applied immediately: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the playback rate on a finished animation maintains the current time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the playback rate to zero on a finished animation maintains the current time: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/updating-the-finished-state.html](https://wpt.live/scroll-animations/scroll-timelines/updating-the-finished-state.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/updating-the-finished-state.html)]: `OK` [`GitHub`], `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`] (Chrome: `OK`, Safari: `OK`) * Updating the finished state when seeking past end: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the finished state when playing exactly to end: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the finished state when seeking exactly to end: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the finished state when playing in reverse past zero: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the finished state when seeking a reversed animation past zero: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the finished state when playing a reversed animation exactly to zero: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the finished state when seeking a reversed animation exactly to zero: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the finished state when seeking before end: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the finished state when seeking a reversed animation before end: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the finished state when playback rate is zero and the current time is less than zero: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the finished state when playback rate is zero and the current time is less than end: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the finished state when playback rate is zero and the currenttime is greater than end: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the finished state when current time is unresolved: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Updating the finished state when start time is unresolved and did seek = true: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finish notification steps don't run when the animation seeks to finish and then seeks back again: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finish notification steps run when the animation completes normally: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finish notification steps run when an animation without a target effect completes normally: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finish notification steps run when the animation seeks past finish: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Finish notification steps run when the animation completes with .finish(), even if we then seek away: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Animation finished promise is replaced after seeking back to start: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Animation finished promise is replaced after replaying from start: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Animation finish event is fired again after seeking back to start: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Animation finish event is fired again after replaying from start: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * finish event is not fired at the end of the active interval when the endDelay has not expired: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * finish event is fired after the endDelay has expired: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/css/at-scroll-timeline-paused-animations.html](https://wpt.live/scroll-animations/css/at-scroll-timeline-paused-animations.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/css/at-scroll-timeline-paused-animations.html)] * Test that the scroll animation is paused: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * Test that the scroll animation is paused by updating animation-play-state: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/css/at-scroll-timeline-responsiveness-from-endpoint.html](https://wpt.live/scroll-animations/css/at-scroll-timeline-responsiveness-from-endpoint.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/css/at-scroll-timeline-responsiveness-from-endpoint.html)] * Test that the scroll animation is still responsive after moving from 100%: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/view-timelines/block-view-timeline-current-time-vertical-rl.tentative.html](https://wpt.live/scroll-animations/view-timelines/block-view-timeline-current-time-vertical-rl.tentative.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/view-timelines/block-view-timeline-current-time-vertical-rl.tentative.html)] * View timeline with container having vertical-rl layout: `FAIL` (Chrome: `FAIL`, Safari: `FAIL`) * [/scroll-animations/view-timelines/block-view-timeline-current-time.tentative.html](https://wpt.live/scroll-animations/view-timelines/block-view-timeline-current-time.tentative.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/view-timelines/block-view-timeline-current-time.tentative.html)] * View timeline with start and end scroll offsets that do not align with the scroll boundaries: `FAIL` (Chrome: `FAIL`, Safari: `FAIL`) * View timeline clamps starting scroll offset at 0px: `FAIL` (Chrome: `FAIL`, Safari: `FAIL`) * View timeline clamps end scroll offset at max scroll: `FAIL` (Chrome: `FAIL`, Safari: `FAIL`) * [/scroll-animations/view-timelines/block-view-timeline-nested-subject.tentative.html](https://wpt.live/scroll-animations/view-timelines/block-view-timeline-nested-subject.tentative.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/view-timelines/block-view-timeline-nested-subject.tentative.html)] * View timeline with subject that is not a direct descendant of the scroll container: `FAIL` (Chrome: `FAIL`, Safari: `FAIL`) * [/scroll-animations/view-timelines/inline-view-timeline-current-time.tentative.html](https://wpt.live/scroll-animations/view-timelines/inline-view-timeline-current-time.tentative.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/view-timelines/inline-view-timeline-current-time.tentative.html)] * View timeline with start and end scroll offsets that do not align with the scroll boundaries: `FAIL` (Chrome: `FAIL`, Safari: `FAIL`) * View timeline clamps starting scroll offset at 0px: `FAIL` (Chrome: `FAIL`, Safari: `FAIL`) * View timeline clamps end scroll offset at max scroll: `FAIL` (Chrome: `FAIL`, Safari: `FAIL`) * View timeline with container having RTL layout: `FAIL` (Chrome: `FAIL`, Safari: `FAIL`) * [/scroll-animations/view-timelines/view-timeline-source.tentative.html](https://wpt.live/scroll-animations/view-timelines/view-timeline-source.tentative.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/view-timelines/view-timeline-source.tentative.html)] * Default source for a View timeline is the nearest scroll ancestor to the subject: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * View timeline ignores explicitly set source: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * View timeline source is null when display:none: `FAIL` (Chrome: `PASS`, Safari: `FAIL`) * [/scroll-animations/scroll-timelines/animation-with-animatable-interface.html](https://wpt.live/scroll-animations/scroll-timelines/animation-with-animatable-interface.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/animation-with-animatable-interface.html)]: `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`], `TIMEOUT` [`GitHub`] (Chrome: `PASS`, Safari: `TIMEOUT`) * [/scroll-animations/scroll-timelines/animation-with-display-none.html](https://wpt.live/scroll-animations/scroll-timelines/animation-with-display-none.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/animation-with-display-none.html)]: `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`], `TIMEOUT` [`GitHub`] (Chrome: `PASS`, Safari: `TIMEOUT`) * [/scroll-animations/scroll-timelines/animation-with-overflow-hidden.html](https://wpt.live/scroll-animations/scroll-timelines/animation-with-overflow-hidden.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/animation-with-overflow-hidden.html)]: `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`], `TIMEOUT` [`GitHub`] (Chrome: `PASS`, Safari: `TIMEOUT`) * [/scroll-animations/scroll-timelines/animation-with-root-scroller.html](https://wpt.live/scroll-animations/scroll-timelines/animation-with-root-scroller.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/animation-with-root-scroller.html)]: `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`], `TIMEOUT` [`GitHub`] (Chrome: `PASS`, Safari: `TIMEOUT`) * [/scroll-animations/scroll-timelines/animation-with-transform.html](https://wpt.live/scroll-animations/scroll-timelines/animation-with-transform.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/animation-with-transform.html)]: `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`], `TIMEOUT` [`GitHub`] (Chrome: `PASS`, Safari: `TIMEOUT`) * [/scroll-animations/scroll-timelines/layout-changes-on-percentage-based-timeline.html](https://wpt.live/scroll-animations/scroll-timelines/layout-changes-on-percentage-based-timeline.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/layout-changes-on-percentage-based-timeline.html)]: `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`], `TIMEOUT` [`GitHub`] (Chrome: `PASS`, Safari: `TIMEOUT`) * [/scroll-animations/scroll-timelines/progress-based-effect-delay.tentative.html](https://wpt.live/scroll-animations/scroll-timelines/progress-based-effect-delay.tentative.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/progress-based-effect-delay.tentative.html)]: `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`], `TIMEOUT` [`GitHub`] (Chrome: `PASS`, Safari: `TIMEOUT`) * [/scroll-animations/scroll-timelines/set-current-time-before-play.html](https://wpt.live/scroll-animations/scroll-timelines/set-current-time-before-play.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/set-current-time-before-play.html)]: `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`], `TIMEOUT` [`GitHub`] (Chrome: `PASS`, Safari: `TIMEOUT`) * [/scroll-animations/scroll-timelines/two-animations-attach-to-same-scroll-timeline-cancel-one.html](https://wpt.live/scroll-animations/scroll-timelines/two-animations-attach-to-same-scroll-timeline-cancel-one.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/two-animations-attach-to-same-scroll-timeline-cancel-one.html)]: `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`], `TIMEOUT` [`GitHub`] (Chrome: `PASS`, Safari: `TIMEOUT`) * [/scroll-animations/scroll-timelines/two-animations-attach-to-same-scroll-timeline.html](https://wpt.live/scroll-animations/scroll-timelines/two-animations-attach-to-same-scroll-timeline.html) [[wpt.fyi](https://wpt.fyi/results/scroll-animations/scroll-timelines/two-animations-attach-to-same-scroll-timeline.html)]: `SKIP` [`Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview`, `Gecko-android-em-7.0-x86_64-qr-debug-geckoview`, `Gecko-android-em-7.0-x86_64-qr-opt-geckoview`, `Gecko-linux1804-64-qr-debug`, `Gecko-linux1804-64-qr-opt`, `Gecko-windows10-32-2004-qr-debug`, `Gecko-windows10-32-2004-qr-opt`, `Gecko-windows10-64-2004-qr-debug`, `Gecko-windows10-64-2004-qr-opt`], `TIMEOUT` [`GitHub`] (Chrome: `PASS`, Safari: `TIMEOUT`) (See attachment for full changes)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/14a12f3e8b0a [wpt PR 34631] - [ViewTimeline] Implement offsets based on enter-start to exit-end., a=testonly https://hg.mozilla.org/integration/autoland/rev/025dd42cac3e [wpt PR 34631] - Update wpt metadata, a=testonly
Comment 8•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/14a12f3e8b0a
https://hg.mozilla.org/mozilla-central/rev/025dd42cac3e
Status: NEW → RESOLVED
Closed: 2 years ago
status-firefox104:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 104 Branch
You need to log in
before you can comment on or make changes to this bug.
Description
•