Index: Source/core/animation/AnimationPlayer.h |
diff --git a/Source/core/animation/AnimationPlayer.h b/Source/core/animation/AnimationPlayer.h |
index 98b6af0bc7175930cb23dc1ab1a86c4acba1b440..8cdfc587e056eb663721cb245f08012bb29f1e1b 100644 |
--- a/Source/core/animation/AnimationPlayer.h |
+++ b/Source/core/animation/AnimationPlayer.h |
@@ -85,8 +85,8 @@ public: |
void play(); |
void reverse(); |
void finish(ExceptionState&); |
- bool finished() { return limited(currentTimeInternal()); } |
- bool playing() { return !(finished() || m_paused || m_isPausedForTesting); } |
+ bool finished() { return !m_idle && limited(currentTimeInternal()); } |
+ bool playing() { return !(finished() || m_paused || m_isPausedForTesting || m_idle); } |
// FIXME: Resolve whether finished() should just return the flag, and |
// remove this method. |
bool finishedInternal() const { return m_finished; } |
@@ -210,12 +210,23 @@ private: |
CompositorAction pendingAction; |
}; |
+ void uncancel() |
+ { |
+ if (m_idle) { |
+ m_idle = false; |
+ m_finished = false; |
+ m_held = true; |
+ m_holdTime = 0; |
+ } |
+ } |
+ |
// This mirrors the known compositor state. It is created when a compositor |
// animation is started. Updated once the start time is known and each time |
// modifications are pushed to the compositor. |
OwnPtr<CompositorState> m_compositorState; |
bool m_compositorPending; |
bool m_currentTimePending; |
+ bool m_idle; |
}; |
} // namespace blink |