Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Issue 251183006: Web Animations: Timeline should not advance during task execution (Closed)

Created:
6 years, 7 months ago by dstockwell
Modified:
6 years, 7 months ago
CC:
blink-reviews, rjwright, alancutter (OOO until 2018), Mike Lawther (Google), Timothy Loh, darktears, Steve Block, dino_apple.com, Eric Willigers
Visibility:
Public.

Description

Web Animations: Timeline should not advance during task execution Previously the animation clock was only frozen during animation frame callbacks. This meant that the timeline was able to advance during other tasks. This patch allows the clock to advance once per task, either to the compositor supplied frame start time or to an approximation of the next expected frame time. http://dev.w3.org/fxtf/web-animations/#script-execution-and-live-updates-to-the-model BUG=367903 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=173583

Patch Set 1 : #

Patch Set 2 : Fix test. #

Patch Set 3 : Use task start time #

Total comments: 11

Patch Set 4 : Tick animation clock using approximate frame time. #

Total comments: 10

Patch Set 5 : Address review comments. #

Patch Set 6 : Deflake element-animate-position-crash. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+170 lines, -76 lines) Patch
M LayoutTests/web-animations-api/element-animate-position-crash.html View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M LayoutTests/web-animations-api/element-animate-position-crash-expected.txt View 1 2 3 4 5 1 chunk +1 line, -2 lines 0 comments Download
M LayoutTests/web-animations-api/timeline-time.html View 1 2 3 1 chunk +59 lines, -18 lines 0 comments Download
M Source/core/animation/AnimationClock.h View 1 2 3 4 1 chunk +11 lines, -18 lines 0 comments Download
M Source/core/animation/AnimationClock.cpp View 1 2 3 1 chunk +31 lines, -5 lines 0 comments Download
M Source/core/animation/AnimationClockTest.cpp View 1 2 3 4 2 chunks +58 lines, -23 lines 0 comments Download
M Source/core/animation/DocumentAnimations.cpp View 1 2 3 1 chunk +0 lines, -2 lines 0 comments Download
M Source/core/animation/css/TransitionTimeline.cpp View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/dom/Document.h View 1 2 3 4 chunks +3 lines, -3 lines 0 comments Download
M Source/core/dom/Document.cpp View 1 2 3 4 5 2 chunks +0 lines, -2 lines 0 comments Download
M Source/web/WebKit.cpp View 1 2 3 4 2 chunks +6 lines, -2 lines 0 comments Download

Messages

Total messages: 38 (0 generated)
dstockwell
6 years, 7 months ago (2014-04-29 22:32:14 UTC) #1
dstockwell
6 years, 7 months ago (2014-04-29 22:37:14 UTC) #2
shans
lgtm
6 years, 7 months ago (2014-04-29 22:39:26 UTC) #3
esprehn
Putting yourself in the event loop might mean you get pushed many frames out, I ...
6 years, 7 months ago (2014-04-29 23:04:44 UTC) #4
dstockwell
On 2014/04/29 23:04:44, esprehn wrote: > Putting yourself in the event loop might mean you ...
6 years, 7 months ago (2014-04-29 23:09:20 UTC) #5
esprehn
On 2014/04/29 23:09:20, dstockwell wrote: > On 2014/04/29 23:04:44, esprehn wrote: > > Putting yourself ...
6 years, 7 months ago (2014-04-29 23:29:36 UTC) #6
dstockwell
On 2014/04/29 23:29:36, esprehn wrote: > On 2014/04/29 23:09:20, dstockwell wrote: > > On 2014/04/29 ...
6 years, 7 months ago (2014-04-29 23:49:15 UTC) #7
esprehn
On 2014/04/29 23:49:15, dstockwell wrote: > On 2014/04/29 23:29:36, esprehn wrote: > > On 2014/04/29 ...
6 years, 7 months ago (2014-04-30 00:05:07 UTC) #8
dstockwell
On 2014/04/30 00:05:07, esprehn wrote: > On 2014/04/29 23:49:15, dstockwell wrote: > > On 2014/04/29 ...
6 years, 7 months ago (2014-04-30 00:15:00 UTC) #9
esprehn
On 2014/04/30 00:15:00, dstockwell wrote: > ... > > > http://dev.w3.org/fxtf/web-animations/#script-execution-and-live-updates-to-the-model > > > "The ...
6 years, 7 months ago (2014-04-30 00:23:58 UTC) #10
shans
On 2014/04/30 00:23:58, esprehn wrote: > On 2014/04/30 00:15:00, dstockwell wrote: > > ... > ...
6 years, 7 months ago (2014-04-30 00:34:49 UTC) #11
esprehn
On 2014/04/30 00:34:49, shans wrote: > [...] > > I'm not really sure how, or ...
6 years, 7 months ago (2014-04-30 00:44:00 UTC) #12
dstockwell
On 2014/04/30 00:23:58, esprehn wrote: > On 2014/04/30 00:15:00, dstockwell wrote: > > ... > ...
6 years, 7 months ago (2014-04-30 01:06:48 UTC) #13
dstockwell
On 2014/04/30 00:44:00, esprehn wrote: > On 2014/04/30 00:34:49, shans wrote: > > [...] > ...
6 years, 7 months ago (2014-04-30 09:10:17 UTC) #14
dstockwell
PTAL, I've moved to the approach where the timeline can advance to the time at ...
6 years, 7 months ago (2014-04-30 12:07:22 UTC) #15
shans
lgtm way cleaner than the last approach :) https://codereview.chromium.org/251183006/diff/60001/Source/core/animation/AnimationClock.h File Source/core/animation/AnimationClock.h (right): https://codereview.chromium.org/251183006/diff/60001/Source/core/animation/AnimationClock.h#newcode49 Source/core/animation/AnimationClock.h:49: static ...
6 years, 7 months ago (2014-04-30 20:43:06 UTC) #16
dstockwell
+abarth for Source/web
6 years, 7 months ago (2014-04-30 21:09:17 UTC) #17
abarth-chromium
https://codereview.chromium.org/251183006/diff/60001/Source/web/WebKit.cpp File Source/web/WebKit.cpp (right): https://codereview.chromium.org/251183006/diff/60001/Source/web/WebKit.cpp#newcode73 Source/web/WebKit.cpp:73: } Doesn't this make the entire engine slower? We ...
6 years, 7 months ago (2014-04-30 22:39:16 UTC) #18
esprehn
https://codereview.chromium.org/251183006/diff/60001/Source/core/animation/AnimationClock.h File Source/core/animation/AnimationClock.h (right): https://codereview.chromium.org/251183006/diff/60001/Source/core/animation/AnimationClock.h#newcode49 Source/core/animation/AnimationClock.h:49: static double& taskTime() Can we use a regular getter/setter ...
6 years, 7 months ago (2014-04-30 22:43:49 UTC) #19
dstockwell
https://codereview.chromium.org/251183006/diff/60001/Source/core/animation/AnimationClock.h File Source/core/animation/AnimationClock.h (right): https://codereview.chromium.org/251183006/diff/60001/Source/core/animation/AnimationClock.h#newcode49 Source/core/animation/AnimationClock.h:49: static double& taskTime() On 2014/04/30 22:43:50, esprehn wrote: > ...
6 years, 7 months ago (2014-04-30 22:59:50 UTC) #20
esprehn
https://codereview.chromium.org/251183006/diff/60001/Source/core/animation/AnimationClock.h File Source/core/animation/AnimationClock.h (right): https://codereview.chromium.org/251183006/diff/60001/Source/core/animation/AnimationClock.h#newcode49 Source/core/animation/AnimationClock.h:49: static double& taskTime() On 2014/04/30 22:59:51, dstockwell wrote: > ...
6 years, 7 months ago (2014-04-30 23:54:32 UTC) #21
dstockwell
https://codereview.chromium.org/251183006/diff/60001/Source/web/WebKit.cpp File Source/web/WebKit.cpp (right): https://codereview.chromium.org/251183006/diff/60001/Source/web/WebKit.cpp#newcode73 Source/web/WebKit.cpp:73: } On 2014/04/30 22:39:16, abarth wrote: > Doesn't this ...
6 years, 7 months ago (2014-05-01 00:22:20 UTC) #22
dstockwell
PTAL, we now only need to do an increment at the start of each task. ...
6 years, 7 months ago (2014-05-07 03:24:32 UTC) #23
esprehn
lgtm, amazing. https://codereview.chromium.org/251183006/diff/100001/Source/core/animation/AnimationClock.cpp File Source/core/animation/AnimationClock.cpp (right): https://codereview.chromium.org/251183006/diff/100001/Source/core/animation/AnimationClock.cpp#newcode60 Source/core/animation/AnimationClock.cpp:60: if (m_time < currentTime) { How can ...
6 years, 7 months ago (2014-05-07 06:07:05 UTC) #24
dstockwell
https://codereview.chromium.org/251183006/diff/100001/Source/core/animation/AnimationClock.cpp File Source/core/animation/AnimationClock.cpp (right): https://codereview.chromium.org/251183006/diff/100001/Source/core/animation/AnimationClock.cpp#newcode60 Source/core/animation/AnimationClock.cpp:60: if (m_time < currentTime) { On 2014/05/07 06:07:06, esprehn ...
6 years, 7 months ago (2014-05-07 06:14:47 UTC) #25
dstockwell
https://codereview.chromium.org/251183006/diff/100001/Source/core/animation/AnimationClock.h File Source/core/animation/AnimationClock.h (right): https://codereview.chromium.org/251183006/diff/100001/Source/core/animation/AnimationClock.h#newcode39 Source/core/animation/AnimationClock.h:39: class AnimationClock { On 2014/05/07 06:07:06, esprehn wrote: > ...
6 years, 7 months ago (2014-05-07 06:51:37 UTC) #26
abarth-chromium
LGTM Thanks for iterating on the approach.
6 years, 7 months ago (2014-05-07 20:40:53 UTC) #27
shans
lgtm Looks really nice!
6 years, 7 months ago (2014-05-07 20:43:22 UTC) #28
dstockwell
The CQ bit was checked by dstockwell@chromium.org
6 years, 7 months ago (2014-05-07 20:49:42 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dstockwell@chromium.org/251183006/120001
6 years, 7 months ago (2014-05-07 20:50:33 UTC) #30
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). Please consider checking whether the failures are ...
6 years, 7 months ago (2014-05-07 22:06:24 UTC) #31
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #2). Please consider checking whether the failures are ...
6 years, 7 months ago (2014-05-07 22:45:13 UTC) #32
dstockwell
The CQ bit was checked by dstockwell@chromium.org
6 years, 7 months ago (2014-05-07 23:13:34 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dstockwell@chromium.org/251183006/140001
6 years, 7 months ago (2014-05-07 23:14:04 UTC) #34
commit-bot: I haz the power
Change committed as 173583
6 years, 7 months ago (2014-05-08 00:30:53 UTC) #35
ojan
Looks like this hits an assert on android debug running ImageResourceTest.MultipartImage, which is in turn ...
6 years, 7 months ago (2014-05-08 20:05:35 UTC) #36
ojan
Revert: https://codereview.chromium.org/272543005/
6 years, 7 months ago (2014-05-08 20:18:27 UTC) #37
ojan
6 years, 7 months ago (2014-05-08 22:42:04 UTC) #38
Message was sent while issue was closed.
Looks like it also caused a bunch of crashes on Win Debug:
https://code.google.com/p/chromium/issues/detail?id=371595.

Powered by Google App Engine
This is Rietveld 408576698