Index: Source/core/animation/DocumentTimeline.cpp |
diff --git a/Source/core/animation/DocumentTimeline.cpp b/Source/core/animation/DocumentTimeline.cpp |
index 77ef592d566ff005da38639a7d62257444a653db..648445947aa0abc069b03211a3239c9289e40ff6 100644 |
--- a/Source/core/animation/DocumentTimeline.cpp |
+++ b/Source/core/animation/DocumentTimeline.cpp |
@@ -70,7 +70,7 @@ DocumentTimeline::~DocumentTimeline() |
AnimationPlayer* DocumentTimeline::createAnimationPlayer(TimedItem* child) |
{ |
- RefPtr<AnimationPlayer> player = AnimationPlayer::create(*this, child); |
+ RefPtr<AnimationPlayer> player = AnimationPlayer::create(m_document->contextDocument().get(), *this, child); |
AnimationPlayer* result = player.get(); |
m_players.add(result); |
setOutdatedAnimationPlayer(result); |
@@ -79,6 +79,8 @@ AnimationPlayer* DocumentTimeline::createAnimationPlayer(TimedItem* child) |
AnimationPlayer* DocumentTimeline::play(TimedItem* child) |
{ |
+ if (!m_document) |
+ return 0; |
AnimationPlayer* player = createAnimationPlayer(child); |
player->setStartTime(effectiveTime()); |
return player; |
@@ -190,6 +192,7 @@ size_t DocumentTimeline::numberOfActiveAnimationsForTesting() const |
} |
void DocumentTimeline::detachFromDocument() { |
+ // FIXME: DocumentTimeline should keep Document alive. |
m_document = 0; |
} |