summaryrefslogtreecommitdiffstats
path: root/WebCore/page/animation/AnimationBase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/page/animation/AnimationBase.cpp')
-rw-r--r--WebCore/page/animation/AnimationBase.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/WebCore/page/animation/AnimationBase.cpp b/WebCore/page/animation/AnimationBase.cpp
index 6efed8e..ade68b5 100644
--- a/WebCore/page/animation/AnimationBase.cpp
+++ b/WebCore/page/animation/AnimationBase.cpp
@@ -1180,6 +1180,10 @@ void AnimationBase::fireAnimationEventsIfNeeded()
// Check for end timeout
if (m_totalDuration >= 0 && elapsedDuration >= m_totalDuration) {
+ // We may still be in AnimationStateLooping if we've managed to skip a
+ // whole iteration, in which case we should jump to the end state.
+ m_animState = AnimationStateEnding;
+
// Fire an end event
updateStateMachine(AnimationStateInputEndTimerFired, m_totalDuration);
} else {