[wpt-sync] Sync PR 39596 - Fix incorrect iniital rendering of a scroll-driven animation
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox114 fixed)
Tracking | Status | |
---|---|---|
firefox114 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 39596 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/39596
Details from upstream follow.
Kevin Ellis <kevers@google.com> wrote:
Fix incorrect iniital rendering of a scroll-driven animation
Partial fix that addresses the initial rendering being incorrect after
changing the animation range. The style was fixed on a scroll, but
initially incorrect.Issues addressed in this patch;
- Sampling time for InertEffect did not account for animation range or
being at the boundary of a scroll timeline.- Was unsafe to change an animation while at the edge the active
interval due to floating point precision errors.- Animation::setTimeline did not align with spec when going from
a scroll to a null timeline.bug: 1421690, 1224809
Change-Id: Iad3a8728f0f25935a18cc8bf4d0fce51d5aa8787
Reviewed-on: https://chromium-review.googlesource.com/4427495
WPT-Export-Revision: 2e61fd0e3fa725c63312d528f66471c958b9cf86
Assignee | ||
Comment 1•2 years ago
|
||
Assignee | ||
Comment 2•2 years ago
|
||
Assignee | ||
Comment 3•2 years ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 9 tests
Status Summary
Firefox
OK
: 4
PASS
: 22[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] 23[Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt]
FAIL
: 27[Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt] 28[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] 40[GitHub]
TIMEOUT
: 1
ERROR
: 2
Chrome
OK
: 6
PASS
: 56
FAIL
: 12
Safari
OK
: 4
FAIL
: 40
TIMEOUT
: 1
ERROR
: 2
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /scroll-animations/scroll-timelines/setting-timeline.tentative.html [wpt.fyi]:
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-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-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 current progress.:
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: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
)
- Setting a scroll timeline on a play-pending animation synchronizes currentTime of the animation with the scroll position.:
- /scroll-animations/view-timelines/change-animation-range-updates-play-state.html [wpt.fyi]:
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-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:OK
, Safari:OK
)- Changing the animation range updates the play state:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Changing the animation range updates the play state:
- /scroll-animations/css/animation-timeline-ignored.tentative.html [wpt.fyi]
- Changing animation-timeline changes the timeline (sanity check):
FAIL
[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
,GitHub
],PASS
[Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:PASS
, Safari:FAIL
) - animation-timeline ignored after setting timeline with JS (ScrollTimeline from JS):
FAIL
(Chrome:PASS
, Safari:FAIL
) - animation-timeline ignored after setting timeline with JS (ScrollTimeline from CSS):
FAIL
(Chrome:PASS
, Safari:FAIL
) - animation-timeline ignored after setting timeline with JS (document timeline):
FAIL
(Chrome:PASS
, Safari:FAIL
) - animation-timeline ignored after setting timeline with JS (null):
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Changing animation-timeline changes the timeline (sanity check):
- /scroll-animations/css/animation-timeline-named-scroll-progress-timeline.tentative.html [wpt.fyi]:
ERROR
[GitHub
],OK
[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-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:OK
, Safari:ERROR
)- scroll-timeline-name affects subsequent siblings when changed:
FAIL
(Chrome:PASS
) - scroll-timeline-name on inserted element affects subsequent siblings:
FAIL
(Chrome:PASS
) - scroll-timeline-name on removed element affects subsequent siblings:
FAIL
(Chrome:FAIL
) - scroll-timeline-name on element leaving display:none affects subsequent siblings:
FAIL
(Chrome:PASS
) - scroll-timeline-name on element becoming display:none affects subsequent siblings:
FAIL
(Chrome:FAIL
) - scroll-timeline-name on element not resolved until element becomes visible:
FAIL
(Chrome:PASS
) - Change in scroll-timeline-name to match animation timeline updates animation.:
FAIL
(Chrome:PASS
) - Change in scroll-timeline-name to no longer match animation timeline updates animation.:
FAIL
(Chrome:FAIL
) - Timeline lookup finds next candidate when element is removed:
FAIL
(Chrome:PASS
) - Timeline lookup updates candidate when closer match available.:
FAIL
(Chrome:PASS
) - Timeline lookup updates candidate when match becomes available.:
FAIL
(Chrome:PASS
)
- scroll-timeline-name affects subsequent siblings when changed:
- /scroll-animations/css/scroll-timeline-dynamic.tentative.html [wpt.fyi]
- Switching between document and scroll timelines [immediate]:
FAIL
[GitHub
],PASS
[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-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:PASS
, Safari:FAIL
) - Switching between document and scroll timelines [scroll]:
FAIL
[GitHub
],PASS
[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-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:PASS
, Safari:FAIL
) - Switching pending animation from document to scroll timelines [immediate]:
FAIL
[GitHub
],PASS
[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-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:PASS
, Safari:FAIL
) - Switching pending animation from document to scroll timelines [scroll]:
FAIL
[GitHub
],PASS
[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-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:PASS
, Safari:FAIL
) - Changing computed value of animation-timeline changes effective timeline [immediate]:
FAIL
[GitHub
],PASS
[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-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:PASS
, Safari:FAIL
) - Changing computed value of animation-timeline changes effective timeline [scroll]:
FAIL
[GitHub
],PASS
[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-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:PASS
, Safari:FAIL
) - Changing to/from animation-timeline:none [immediate]:
FAIL
[GitHub
],PASS
[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-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:FAIL
, Safari:FAIL
) - Changing to/from animation-timeline:none [scroll]:
FAIL
[GitHub
],PASS
[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-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:FAIL
, Safari:FAIL
) - Changing scroll-timeline on preceding elements affects target element [immediate]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Changing scroll-timeline on preceding elements affects target element [scroll]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Reverse animation direction [immediate]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Reverse animation direction [scroll]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Switching timelines while paused [immediate]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Switching timelines while paused [scroll]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Switching timelines and pausing at the same time [immediate]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Switching timelines and pausing at the same time [scroll]:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Switching between document and scroll timelines [immediate]:
- /scroll-animations/css/view-timeline-dynamic.html [wpt.fyi]:
ERROR
[GitHub
],OK
[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-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:OK
, Safari:ERROR
)- Dynamically changing view-timeline-name:
FAIL
(Chrome:PASS
) - Element with view-timeline becoming display:none:
FAIL
(Chrome:FAIL
)
- Dynamically changing view-timeline-name:
- /scroll-animations/css/scroll-timeline-update-reversed-animation.html [wpt.fyi]:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - /scroll-animations/css/view-timeline-range-update-reversed-animation.html [wpt.fyi]:
TIMEOUT
(Chrome:FAIL
, Safari:TIMEOUT
) - /scroll-animations/css/view-timeline-range-update.html [wpt.fyi]:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
Tests Disabled in Gecko Infrastructure
- /scroll-animations/scroll-timelines/setting-timeline.tentative.html [wpt.fyi]:
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-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:OK
, Safari:OK
) - /scroll-animations/view-timelines/change-animation-range-updates-play-state.html [wpt.fyi]:
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-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:OK
, Safari:OK
)
Comment 5•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/ba2d716006e5
https://hg.mozilla.org/mozilla-central/rev/a3c800dd9447
Description
•