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)

task

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

Attached image 04BB2A33-DC28-4EB9-BD76-60C63A32C68F.png (obsolete) —
Flags: needinfo?(wptsync)
Attached image 5A23F6CB-87FE-49A0-9F73-517E304086E3.png (obsolete) —
Flags: needinfo?(wptsync)
Attached image CDF25E01-93D7-41F6-950F-6847143078E3.png (obsolete) —
Flags: needinfo?(wptsync)
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Attached file Notable wpt changes —
# 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
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 104 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: