Index: Source/core/svg/animation/SMILTimeContainer.cpp |
diff --git a/Source/core/svg/animation/SMILTimeContainer.cpp b/Source/core/svg/animation/SMILTimeContainer.cpp |
index 6cd7a4ca82faa49833e3f21a3cb9a28939d5b598..4f06346923daa744eeb761c988ea991a6381a783 100644 |
--- a/Source/core/svg/animation/SMILTimeContainer.cpp |
+++ b/Source/core/svg/animation/SMILTimeContainer.cpp |
@@ -57,7 +57,6 @@ SMILTimeContainer::SMILTimeContainer(SVGSVGElement& owner) |
, m_presetStartTime(0) |
, m_frameSchedulingState(Idle) |
, m_documentOrderIndexesDirty(false) |
- , m_animationClock(AnimationClock::create()) |
, m_wakeupTimer(this, &SMILTimeContainer::wakeupTimerFired) |
, m_ownerSVGElement(owner) |
#ifndef NDEBUG |
@@ -241,7 +240,6 @@ void SMILTimeContainer::setElapsed(SMILTime time) |
m_preventScheduledAnimationsChanges = false; |
#endif |
- DiscardScope discardScope(m_ownerSVGElement); |
updateAnimationsAndScheduleFrameIfNeeded(time, true); |
} |
@@ -285,7 +283,6 @@ void SMILTimeContainer::wakeupTimerFired(Timer<SMILTimeContainer>*) |
serviceOnNextFrame(); |
} else { |
m_frameSchedulingState = Idle; |
- DiscardScope discardScope(m_ownerSVGElement); |
updateAnimationsAndScheduleFrameIfNeeded(elapsed()); |
} |
} |
@@ -320,15 +317,9 @@ Document& SMILTimeContainer::document() const |
return m_ownerSVGElement.document(); |
} |
-AnimationClock& SMILTimeContainer::animationClock() const |
-{ |
- ASSERT(m_animationClock); |
- return *m_animationClock; |
-} |
- |
double SMILTimeContainer::currentTime() const |
{ |
- return animationClock().currentTime(); |
+ return document().animationClock().currentTime(); |
} |
void SMILTimeContainer::serviceOnNextFrame() |
@@ -345,14 +336,12 @@ void SMILTimeContainer::serviceAnimations(double monotonicAnimationStartTime) |
return; |
m_frameSchedulingState = Idle; |
- animationClock().updateTime(monotonicAnimationStartTime); |
- DiscardScope discardScope(m_ownerSVGElement); |
updateAnimationsAndScheduleFrameIfNeeded(elapsed()); |
- animationClock().unfreeze(); |
} |
void SMILTimeContainer::updateAnimationsAndScheduleFrameIfNeeded(SMILTime elapsed, bool seekToTime) |
{ |
+ DiscardScope discardScope(m_ownerSVGElement); |
SMILTime earliestFireTime = updateAnimations(elapsed, seekToTime); |
// If updateAnimations() ended up triggering a synchronization (most likely |
// via syncbases), then give that priority. |