Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(302)

Unified Diff: Source/core/animation/DocumentTimeline.cpp

Issue 210363007: Declare onFinish event handler for AnimationPlayer (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Use ContextLifecycleObserver Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698