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

Issue 23173007: Web Animations: Fix CSS events to handle animations with very short durations (Closed)

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

Description

Web Animations: Fix CSS events to handle animations with very short durations In order to do this reliably we need to handle the case where an animation starts and ends within a single sample. This is tested with a new LayoutTest which uses a CSS animation with a very short duration and a non-zero delay, as animations are always sampled at an inherited time of zero. BUG=240653 R=dstockwell Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=156546

Patch Set 1 #

Patch Set 2 : Use Animation::forceSampleBeforeStartTime() #

Patch Set 3 : Rebased #

Total comments: 2

Patch Set 4 : Pass phase and isFirstSample to event callback #

Patch Set 5 : Rebased #

Total comments: 3

Patch Set 6 : Addressed review comments #

Patch Set 7 : Rebased #

Patch Set 8 : Rebased #

Patch Set 9 : Rebased #

Patch Set 10 : state-at-end-event-transform.html still fails #

Patch Set 11 : Rebased #

Unified diffs Side-by-side diffs Delta from patch set Stats (+115 lines, -96 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 2 chunks +1 line, -2 lines 0 comments Download
A + LayoutTests/animations/events-with-short-duration-and-delay.html View 4 chunks +8 lines, -5 lines 0 comments Download
A LayoutTests/animations/events-with-short-duration-and-delay-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
M Source/core/animation/Animation.h View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/animation/Animation.cpp View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M Source/core/animation/TimedItem.h View 1 2 3 4 5 3 chunks +19 lines, -16 lines 0 comments Download
M Source/core/animation/TimedItem.cpp View 1 2 3 4 5 4 chunks +16 lines, -23 lines 0 comments Download
M Source/core/animation/TimedItemTest.cpp View 1 2 3 4 5 9 chunks +34 lines, -35 lines 0 comments Download
M Source/core/animation/css/CSSAnimations.h View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M Source/core/animation/css/CSSAnimations.cpp View 1 2 3 4 5 6 3 chunks +27 lines, -9 lines 0 comments Download

Messages

Total messages: 14 (0 generated)
Steve Block
Note that this depends on https://codereview.chromium.org/23327003
7 years, 4 months ago (2013-08-20 06:49:15 UTC) #1
dstockwell
https://codereview.chromium.org/23173007/diff/6001/Source/core/animation/TimedItem.cpp File Source/core/animation/TimedItem.cpp (right): https://codereview.chromium.org/23173007/diff/6001/Source/core/animation/TimedItem.cpp#newcode113 Source/core/animation/TimedItem.cpp:113: if (m_eventDelegate && (isInPlay() != wasInPlay || isCurrent() != ...
7 years, 4 months ago (2013-08-21 02:29:44 UTC) #2
dstockwell
https://codereview.chromium.org/23173007/diff/6001/Source/core/animation/TimedItem.cpp File Source/core/animation/TimedItem.cpp (right): https://codereview.chromium.org/23173007/diff/6001/Source/core/animation/TimedItem.cpp#newcode113 Source/core/animation/TimedItem.cpp:113: if (m_eventDelegate && (isInPlay() != wasInPlay || isCurrent() != ...
7 years, 4 months ago (2013-08-21 04:37:35 UTC) #3
Steve Block
> This is getting complicated. I wonder if instead of looking at a change to ...
7 years, 4 months ago (2013-08-21 05:55:16 UTC) #4
Steve Block
Ready for another look
7 years, 4 months ago (2013-08-21 05:59:33 UTC) #5
dstockwell
lgtm https://codereview.chromium.org/23173007/diff/15001/Source/core/animation/TimedItem.cpp File Source/core/animation/TimedItem.cpp (right): https://codereview.chromium.org/23173007/diff/15001/Source/core/animation/TimedItem.cpp#newcode62 Source/core/animation/TimedItem.cpp:62: m_calculated.phase = calculatePhase(activeDuration, localTime, m_specified); Can you mirror ...
7 years, 4 months ago (2013-08-21 06:18:01 UTC) #6
dstockwell
https://codereview.chromium.org/23173007/diff/15001/Source/core/animation/css/CSSAnimations.cpp File Source/core/animation/css/CSSAnimations.cpp (right): https://codereview.chromium.org/23173007/diff/15001/Source/core/animation/css/CSSAnimations.cpp#newcode238 Source/core/animation/css/CSSAnimations.cpp:238: void CSSAnimations::EventDelegate::onEventCondition(bool isFirstSample, TimedItem::Phase previousPhase, TimedItem::Phase phase, double previousIteration, ...
7 years, 4 months ago (2013-08-21 06:21:52 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/steveblock@chromium.org/23173007/35001
7 years, 4 months ago (2013-08-22 00:44:04 UTC) #8
commit-bot: I haz the power
Step "update" is always a major failure. Look at the try server FAQ for more ...
7 years, 4 months ago (2013-08-22 01:10:29 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/steveblock@chromium.org/23173007/50001
7 years, 4 months ago (2013-08-22 01:33:44 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/steveblock@chromium.org/23173007/61001
7 years, 4 months ago (2013-08-22 04:37:50 UTC) #11
commit-bot: I haz the power
Step "update" is always a major failure. Look at the try server FAQ for more ...
7 years, 4 months ago (2013-08-22 04:48:09 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/steveblock@chromium.org/23173007/69001
7 years, 4 months ago (2013-08-22 04:49:44 UTC) #13
commit-bot: I haz the power
7 years, 4 months ago (2013-08-22 06:10:18 UTC) #14
Message was sent while issue was closed.
Change committed as 156546

Powered by Google App Engine
This is Rietveld 408576698