| Index: Source/core/animation/Animation.cpp
 | 
| diff --git a/Source/core/animation/Animation.cpp b/Source/core/animation/Animation.cpp
 | 
| index 0d46063e67fec9d0681b2ddf6bce1999b8e79ed6..689f089a1e955a00b85023a6bd54a2670430d4c5 100644
 | 
| --- a/Source/core/animation/Animation.cpp
 | 
| +++ b/Source/core/animation/Animation.cpp
 | 
| @@ -58,14 +58,14 @@ static unsigned nextSequenceNumber()
 | 
|  
 | 
|  }
 | 
|  
 | 
| -PassRefPtrWillBeRawPtr<Animation> Animation::create(AnimationEffect* effect, AnimationTimeline* timeline)
 | 
| +Animation* Animation::create(AnimationEffect* effect, AnimationTimeline* timeline)
 | 
|  {
 | 
|      if (!timeline) {
 | 
|          // FIXME: Support creating animations without a timeline.
 | 
|          return nullptr;
 | 
|      }
 | 
|  
 | 
| -    RefPtrWillBeRawPtr<Animation> animation = adoptRefWillBeNoop(new Animation(timeline->document()->contextDocument().get(), *timeline, effect));
 | 
| +    Animation* animation = new Animation(timeline->document()->contextDocument().get(), *timeline, effect);
 | 
|      animation->suspendIfNeeded();
 | 
|  
 | 
|      if (timeline) {
 | 
| @@ -73,7 +73,7 @@ PassRefPtrWillBeRawPtr<Animation> Animation::create(AnimationEffect* effect, Ani
 | 
|          animation->attachCompositorTimeline();
 | 
|      }
 | 
|  
 | 
| -    return animation.release();
 | 
| +    return animation;
 | 
|  }
 | 
|  
 | 
|  Animation::Animation(ExecutionContext* executionContext, AnimationTimeline& timeline, AnimationEffect* content)
 | 
| @@ -110,14 +110,17 @@ Animation::Animation(ExecutionContext* executionContext, AnimationTimeline& time
 | 
|  
 | 
|  Animation::~Animation()
 | 
|  {
 | 
| +    destroyCompositorPlayer();
 | 
| +}
 | 
| +
 | 
| +void Animation::disposeAnimation()
 | 
| +{
 | 
|  #if !ENABLE(OILPAN)
 | 
|      if (m_content)
 | 
|          m_content->detach();
 | 
|      if (m_timeline)
 | 
|          m_timeline->animationDestroyed(this);
 | 
|  #endif
 | 
| -
 | 
| -    destroyCompositorPlayer();
 | 
|  }
 | 
|  
 | 
|  #if !ENABLE(OILPAN)
 | 
| @@ -1101,7 +1104,7 @@ DEFINE_TRACE(Animation)
 | 
|      visitor->trace(m_pendingFinishedEvent);
 | 
|      visitor->trace(m_finishedPromise);
 | 
|      visitor->trace(m_readyPromise);
 | 
| -    EventTargetWithInlineData::trace(visitor);
 | 
| +    RefCountedGarbageCollectedEventTargetWithInlineData<Animation>::trace(visitor);
 | 
|      ActiveDOMObject::trace(visitor);
 | 
|  }
 | 
|  
 | 
| 
 |