| Index: third_party/WebKit/Source/core/animation/Animation.cpp
|
| diff --git a/third_party/WebKit/Source/core/animation/Animation.cpp b/third_party/WebKit/Source/core/animation/Animation.cpp
|
| index 8b9f2414f1bbeba0c50e8c9ef1c391e036445a92..a65c0b78df8b14bdd0c9e46510832eab27dc8582 100644
|
| --- a/third_party/WebKit/Source/core/animation/Animation.cpp
|
| +++ b/third_party/WebKit/Source/core/animation/Animation.cpp
|
| @@ -447,7 +447,7 @@ void Animation::setStartTimeInternal(double newStartTime) {
|
| } else if (!hadStartTime && m_timeline) {
|
| // Even though this animation is not outdated, time to effect change is
|
| // infinity until start time is set.
|
| - m_timeline->wake();
|
| + forceServiceOnNextFrame();
|
| }
|
| }
|
|
|
| @@ -619,6 +619,7 @@ void Animation::finish(ExceptionState& exceptionState) {
|
| m_currentTimePending = false;
|
| m_startTime = calculateStartTime(newCurrentTime);
|
| m_playState = Finished;
|
| + forceServiceOnNextFrame();
|
| }
|
|
|
| ScriptPromise Animation::finished(ScriptState* scriptState) {
|
| @@ -713,6 +714,10 @@ void Animation::setOutdated() {
|
| m_timeline->setOutdatedAnimation(this);
|
| }
|
|
|
| +void Animation::forceServiceOnNextFrame() {
|
| + m_timeline->wake();
|
| +}
|
| +
|
| bool Animation::canStartAnimationOnCompositor() const {
|
| if (m_isCompositedAnimationDisabledForTesting || effectSuppressed())
|
| return false;
|
| @@ -884,6 +889,7 @@ void Animation::cancel() {
|
| m_playState = Idle;
|
| m_startTime = nullValue();
|
| m_currentTimePending = false;
|
| + forceServiceOnNextFrame();
|
| }
|
|
|
| void Animation::beginUpdatingState() {
|
|
|