[wpt-sync] Sync PR 42871 - Ensure restarted animations don't clobber start time
Categories
(Core :: DOM: Animation, task, P4)
Tracking
()
Tracking | Status | |
---|---|---|
firefox121 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 42871 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/42871
Details from upstream follow.
David Bokan <bokan@chromium.org> wrote:
Ensure restarted animations don't clobber start time
The bug here occurs because of a race. Blink Animations can be
invalidated for all sorts of reasons and they require cancelling the
current cc::Animation and starting a new one. When this happens, the new
cc::Animation will use the start time that was received for the original
Animation.The race condition occurs when the Blink Animation is invalidated before
a start time is received. In that case, the Animation starts playing on
the impl thread but the new Animation is created without a start time,
leading to the Animation starting from the beginning, causing a stutter
effect. Additionally, animation events generated on the impl thread when
Blink invalidates an animation are dropped since the main thread
counterpart is gone by the time of the events arrive.This CL fixes the issue by making Blink recreate the compositor
animation with the same id and setting a bit on it to make it reuse
the start time from the compositor animation when it is pushed. The
animation also reuses the compositor group id on a restarted animation
so that animation events are routed back to the blink::Animation
correctly.Bug: 1445090
Change-Id: I8e91bdbf8e22b00cd6025d21aa2a982ad4742d31
Reviewed-on: https://chromium-review.googlesource.com/4605129
WPT-Export-Revision: e674d7a27b0473c701e23f873cb9e180f59184fc
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 1•2 years ago
|
||
Assignee | ||
Comment 2•2 years ago
|
||
CI Results
Ran 8 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 1 tests and 1 subtests
Status Summary
Firefox
OK
: 1
PASS
: 1
Chrome
OK
: 1
FAIL
: 1
Safari
OK
: 1
PASS
: 1
Links
Comment 5•2 years ago
|
||
bugherder |
Description
•