Open Bug 1656559 Opened 1 year ago Updated 1 year ago

[wpt-sync] Sync PR 24832 - Implement Animation::setTimeline

Categories

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

task

Tracking

(Not tracked)

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

Kevin Ellis <kevers@chromium.org> wrote:

Implement Animation::setTimeline

Mutability of the animation timeline is behind the feature flag for
ScrollTimeline. The feature is marked as readonly in the auto-generated
web-animations IDL in WPT since marked as readonly in web-animations-1.
This discrepancy introduces one IDL harness failure with the change.
The feature is marked as web-exposed, but with a no-op implementation
if the feature flag is not set.

With the patch, a number of the failing tests are now failing for
different reasons:

  • Replaceable animations should consider all timelines when determining
    if an animation can be removed. Our current implementation only
    considers other animations on the same timeline when making the
    decision. Fixing these failures requires some refactoring, which is
    deferred to a followup CL.
  • Resetting the timeline cancels a running CSS animation or transition.
    Some refactoring is required to ensure that we properly compute the
    cancel time as it depends on the old timeline. Again, deferring to
    a followup CL.

https://github.com/w3c/csswg-drafts/issues/5159
https://drafts.csswg.org/scroll-animations-1
https://www.chromestatus.com/feature/6752840701706240

Bug: 827626
Change-Id: I1fea09a80e8730694455c06b192cb9e068eb0c55
Reviewed-on: https://chromium-review.googlesource.com/2324101
WPT-Export-Revision: 6fcef30a6204bafd52dae89c4be7713342bb8c00

Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]

CI Results

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

Total 2 tests and 16 subtests

Status Summary

Firefox

OK : 1[Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] 2[GitHub]
PASS: 12
FAIL: 4[Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] 18[GitHub]

Chrome

OK : 2
FAIL: 30

Safari

OK : 2
PASS: 12
FAIL: 18

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/scroll-animations/setting-timeline.tentative.html: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] (Chrome: OK, Safari: OK)
Setting a scroll timeline on a play-pending animation synchronizes currentTime of the animation with the scroll position.: FAIL (Chrome: FAIL, 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: FAIL, Safari: FAIL)
Setting a scroll timeline on a reversed play-pending animation synchronizes the currentTime of the animation with the scroll position.: FAIL (Chrome: FAIL, Safari: FAIL)
Setting a scroll timeline on a running animation synchronizes the currentTime of the animation with the scroll position.: FAIL (Chrome: FAIL, 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: FAIL, 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: FAIL, Safari: FAIL)
Transitioning from a scroll timeline to a document timeline on a running animation preserves currentTime: FAIL (Chrome: FAIL, Safari: FAIL)
Transitioning from a scroll timeline to a document timeline on a pause-pending animation preserves currentTime: FAIL (Chrome: FAIL, Safari: FAIL)
Transitioning from a scroll timeline to a null timeline on a running animation preserves the play state: FAIL (Chrome: FAIL, 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: FAIL, Safari: FAIL)
Switching from one scroll timeline to another updates currentTime: FAIL (Chrome: FAIL, Safari: FAIL)
Switching from a document timeline to a scroll timeline updates currentTime when unpaused via CSS.: FAIL (Chrome: FAIL, Safari: FAIL)
Switching from a document timeline to a scroll timeline and updating currentTime preserves the new value when unpaused.: FAIL (Chrome: FAIL, Safari: FAIL)
Switching from a document timeline to a scroll timeline and updating startTime preserves the new value when play is called.: FAIL (Chrome: FAIL, Safari: FAIL)
/web-animations/timing-model/animations/setting-the-timeline-of-an-animation.html
After transitioning from a null timeline on an animation with a start time it is still running: FAIL (Chrome: FAIL, Safari: FAIL)
After transitioning from a null timeline on an animation with a sufficiently ancient start time it is finished: FAIL (Chrome: FAIL, Safari: FAIL)
After clearing timeline on finished animation it is running: FAIL (Chrome: FAIL, Safari: FAIL)
After clearing timeline on running animation it is still running: FAIL (Chrome: FAIL, Safari: FAIL)

Tests Disabled in Gecko Infrastructure

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

You need to log in before you can comment on or make changes to this bug.