| Index: Source/core/animation/Animation.cpp
|
| diff --git a/Source/core/animation/Animation.cpp b/Source/core/animation/Animation.cpp
|
| index 5103120d88fef661182dd039d0726bcd241fb484..75f3477d9380b7cb2b45455926a78c683ea351fc 100644
|
| --- a/Source/core/animation/Animation.cpp
|
| +++ b/Source/core/animation/Animation.cpp
|
| @@ -792,13 +792,17 @@ bool Animation::update(TimingUpdateReason reason)
|
|
|
| if ((idle || limited()) && !m_finished) {
|
| if (reason == TimingUpdateForAnimationFrame && (idle || hasStartTime())) {
|
| - const AtomicString& eventType = EventTypeNames::finish;
|
| - if (executionContext() && hasEventListeners(eventType)) {
|
| - double eventCurrentTime = currentTimeInternal() * 1000;
|
| - m_pendingFinishedEvent = AnimationPlayerEvent::create(eventType, eventCurrentTime, timeline()->currentTime());
|
| - m_pendingFinishedEvent->setTarget(this);
|
| - m_pendingFinishedEvent->setCurrentTarget(this);
|
| - m_timeline->document()->enqueueAnimationFrameEvent(m_pendingFinishedEvent);
|
| + if (idle) {
|
| + // TODO(dstockwell): Fire the cancel event.
|
| + } else {
|
| + const AtomicString& eventType = EventTypeNames::finish;
|
| + if (executionContext() && hasEventListeners(eventType)) {
|
| + double eventCurrentTime = currentTimeInternal() * 1000;
|
| + m_pendingFinishedEvent = AnimationPlayerEvent::create(eventType, eventCurrentTime, timeline()->currentTime());
|
| + m_pendingFinishedEvent->setTarget(this);
|
| + m_pendingFinishedEvent->setCurrentTarget(this);
|
| + m_timeline->document()->enqueueAnimationFrameEvent(m_pendingFinishedEvent);
|
| + }
|
| }
|
| m_finished = true;
|
| }
|
|
|