WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
191542
[Web Animations] Don't schedule animation frames or update style while an accelerated animation is running
https://bugs.webkit.org/show_bug.cgi?id=191542
Summary
[Web Animations] Don't schedule animation frames or update style while an acc...
Antoine Quint
Reported
2018-11-12 04:13:50 PST
In case all the relevant animations for the document are accelerated, we should not be calling updateAnimationsAndSendEvents().
Attachments
Patch
(22.92 KB, patch)
2018-11-12 04:43 PST
,
Antoine Quint
simon.fraser
: review+
ews-watchlist
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from ews104 for mac-sierra-wk2
(3.04 MB, application/zip)
2018-11-12 06:09 PST
,
EWS Watchlist
no flags
Details
Archive of layout-test-results from ews200 for win-future
(12.83 MB, application/zip)
2018-11-12 08:21 PST
,
EWS Watchlist
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Antoine Quint
Comment 1
2018-11-12 04:14:01 PST
<
rdar://problem/45356027
>
Antoine Quint
Comment 2
2018-11-12 04:43:19 PST
Created
attachment 354546
[details]
Patch
EWS Watchlist
Comment 3
2018-11-12 06:09:49 PST
Comment on
attachment 354546
[details]
Patch
Attachment 354546
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
https://webkit-queues.webkit.org/results/9957516
New failing tests: fast/layers/no-clipping-overflow-hidden-added-after-transform.html
EWS Watchlist
Comment 4
2018-11-12 06:09:50 PST
Created
attachment 354553
[details]
Archive of layout-test-results from ews104 for mac-sierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews104 Port: mac-sierra-wk2 Platform: Mac OS X 10.12.6
Simon Fraser (smfr)
Comment 5
2018-11-12 07:56:49 PST
Comment on
attachment 354546
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=354546&action=review
> Source/WebCore/animation/DocumentTimeline.cpp:316 > + m_waitingOnVMIdle = true; > + if (!m_currentTimeClearingTaskQueue.hasPendingTasks()) > + m_currentTimeClearingTaskQueue.enqueueTask(std::bind(&DocumentTimeline::maybeClearCachedCurrentTime, this)); > + m_document->vm().whenIdle([this, protectedThis = makeRefPtr(this)]() { > + m_waitingOnVMIdle = false; > + maybeClearCachedCurrentTime(); > + });
Is the VM going idle correct in terms of HTMLEventLoop behaviors, or is this a stop-gap until we have that?
EWS Watchlist
Comment 6
2018-11-12 08:20:57 PST
Comment on
attachment 354546
[details]
Patch
Attachment 354546
[details]
did not pass win-ews (win): Output:
https://webkit-queues.webkit.org/results/9958403
New failing tests: animations/transform-non-accelerated.html animations/play-state-paused.html webanimations/accelerated-animation-with-delay.html animations/animation-direction-reverse.html webanimations/accelerated-transition-by-removing-property.html http/wpt/css/css-animations/set-animation-play-state-to-paused-001.html transitions/start-transform-transition.html fast/animation/css-animation-resuming-when-visible-with-style-change.html animations/animation-direction-normal.html animations/dynamic-stylesheet-loading.html
EWS Watchlist
Comment 7
2018-11-12 08:21:08 PST
Created
attachment 354561
[details]
Archive of layout-test-results from ews200 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews200 Port: win-future Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Antoine Quint
Comment 8
2018-11-12 08:41:03 PST
(In reply to Simon Fraser (smfr) from
comment #5
)
> Comment on
attachment 354546
[details]
> > Is the VM going idle correct in terms of HTMLEventLoop behaviors, or is this > a stop-gap until we have that?
The latter. This is just so that I can tell for sure that we always return the same current time for the given animation frame. This works well in practice.
Antoine Quint
Comment 9
2018-11-13 02:19:31 PST
Tracking the Windows failures in
https://bugs.webkit.org/show_bug.cgi?id=191584
.
Antoine Quint
Comment 10
2018-11-13 02:23:04 PST
Committed
r238128
: <
https://trac.webkit.org/changeset/238128
>
Truitt Savell
Comment 11
2018-11-16 09:53:50 PST
It looks like
https://trac.webkit.org/changeset/238128/webkit
has caused imported/w3c/web-platform-tests/web-animations/timing-model/timelines/update-and-send-events.html to become flakey. Confirmed using command: run-webkit-tests --root debug-238128 imported/w3c/web-platform-tests/web-animations/timing-model/timelines/update-and-send-events.html --iterations 1000 -f --debug -1 The test fails around 15 times out of the 1000. test does not fail at all on 238127. Diff: --- /Volumes/Data/slave/highsierra-debug-tests-wk1/build/layout-test-results/imported/w3c/web-platform-tests/web-animations/timing-model/timelines/update-and-send-events-expected.txt +++ /Volumes/Data/slave/highsierra-debug-tests-wk1/build/layout-test-results/imported/w3c/web-platform-tests/web-animations/timing-model/timelines/update-and-send-events-actual.txt @@ -1,7 +1,7 @@ PASS Fires cancel event before requestAnimationFrame PASS Fires finish event before requestAnimationFrame -FAIL Sorts finish events by composite order assert_array_equals: finish events for various animation type should be sorted by composite order property 0, expected "CSSTransition:finish" but got "ScriptAnimation:finish" +PASS Sorts finish events by composite order FAIL Sorts cancel events by composite order assert_array_equals: cancel events should be sorted by composite order lengths differ, expected 5 got 3 FAIL Sorts events for the same transition assert_array_equals: Playback and CSS events for the same transition should be sorted by schedule event time and composite order lengths differ, expected 2 got 1 PASS Playback events with the same timeline retain the order in which they arequeued
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug