| Index: Source/core/svg/animation/SMILTimeContainer.cpp
|
| diff --git a/Source/core/svg/animation/SMILTimeContainer.cpp b/Source/core/svg/animation/SMILTimeContainer.cpp
|
| index 802a94cb39fb691813fa783f197a861ce5b1a8a6..2061b114a98921107d79ee6bdf6fd5feae731f19 100644
|
| --- a/Source/core/svg/animation/SMILTimeContainer.cpp
|
| +++ b/Source/core/svg/animation/SMILTimeContainer.cpp
|
| @@ -84,6 +84,7 @@ void SMILTimeContainer::schedule(SVGSMILElement* animation, SVGElement* target,
|
| ASSERT(target);
|
| ASSERT(animation->hasValidAttributeName());
|
| ASSERT(animation->hasValidAttributeType());
|
| + ASSERT(animation->inActiveDocument());
|
|
|
| #if ENABLE(ASSERT)
|
| ASSERT(!m_preventScheduledAnimationsChanges);
|
| @@ -170,6 +171,9 @@ void SMILTimeContainer::begin()
|
| {
|
| RELEASE_ASSERT(!m_beginTime);
|
|
|
| + if (!document().isActive())
|
| + return;
|
| +
|
| if (!handleAnimationPolicy(RestartOnceTimerIfNotPaused))
|
| return;
|
|
|
| @@ -426,6 +430,9 @@ void SMILTimeContainer::serviceAnimations(double monotonicAnimationStartTime)
|
|
|
| void SMILTimeContainer::updateAnimationsAndScheduleFrameIfNeeded(SMILTime elapsed, bool seekToTime)
|
| {
|
| + if (!document().isActive())
|
| + return;
|
| +
|
| #if !ENABLE(OILPAN)
|
| DiscardScope discardScope(m_ownerSVGElement);
|
| #endif
|
| @@ -446,6 +453,7 @@ void SMILTimeContainer::updateAnimationsAndScheduleFrameIfNeeded(SMILTime elapse
|
|
|
| SMILTime SMILTimeContainer::updateAnimations(SMILTime elapsed, bool seekToTime)
|
| {
|
| + ASSERT(document().isActive());
|
| SMILTime earliestFireTime = SMILTime::unresolved();
|
|
|
| #if ENABLE(ASSERT)
|
|
|