| Index: Source/core/animation/AnimationTimeline.cpp
 | 
| diff --git a/Source/core/animation/AnimationTimeline.cpp b/Source/core/animation/AnimationTimeline.cpp
 | 
| index 28548a928b31314deb2e781a48c3269f7d3543fb..2a0271d33fcfbf314157132db7fbb07918482318 100644
 | 
| --- a/Source/core/animation/AnimationTimeline.cpp
 | 
| +++ b/Source/core/animation/AnimationTimeline.cpp
 | 
| @@ -47,9 +47,9 @@ namespace blink {
 | 
|  
 | 
|  namespace {
 | 
|  
 | 
| -bool compareAnimations(const RefPtrWillBeMember<Animation>& left, const RefPtrWillBeMember<Animation>& right)
 | 
| +bool compareAnimations(const Member<Animation>& left, const Member<Animation>& right)
 | 
|  {
 | 
| -    return Animation::hasLowerPriority(left.get(), right.get());
 | 
| +    return Animation::hasLowerPriority(left, right);
 | 
|  }
 | 
|  
 | 
|  }
 | 
| @@ -59,12 +59,12 @@ bool compareAnimations(const RefPtrWillBeMember<Animation>& left, const RefPtrWi
 | 
|  const double AnimationTimeline::s_minimumDelay = 0.04;
 | 
|  
 | 
|  
 | 
| -PassRefPtrWillBeRawPtr<AnimationTimeline> AnimationTimeline::create(Document* document, PassOwnPtrWillBeRawPtr<PlatformTiming> timing)
 | 
| +AnimationTimeline* AnimationTimeline::create(Document* document, PlatformTiming* timing)
 | 
|  {
 | 
| -    return adoptRefWillBeNoop(new AnimationTimeline(document, timing));
 | 
| +    return new AnimationTimeline(document, timing);
 | 
|  }
 | 
|  
 | 
| -AnimationTimeline::AnimationTimeline(Document* document, PassOwnPtrWillBeRawPtr<PlatformTiming> timing)
 | 
| +AnimationTimeline::AnimationTimeline(Document* document, PlatformTiming* timing)
 | 
|      : m_document(document)
 | 
|      , m_zeroTime(0) // 0 is used by unit tests which cannot initialize from the loader
 | 
|      , m_zeroTimeInitialized(false)
 | 
| @@ -73,7 +73,7 @@ AnimationTimeline::AnimationTimeline(Document* document, PassOwnPtrWillBeRawPtr<
 | 
|      , m_lastCurrentTimeInternal(0)
 | 
|  {
 | 
|      if (!timing)
 | 
| -        m_timing = adoptPtrWillBeNoop(new AnimationTimelineTiming(this));
 | 
| +        m_timing = new AnimationTimelineTiming(this);
 | 
|      else
 | 
|          m_timing = timing;
 | 
|  
 | 
| @@ -103,18 +103,18 @@ Animation* AnimationTimeline::play(AnimationEffect* child)
 | 
|      if (!m_document)
 | 
|          return nullptr;
 | 
|  
 | 
| -    RefPtrWillBeRawPtr<Animation> animation = Animation::create(child, this);
 | 
| -    ASSERT(m_animations.contains(animation.get()));
 | 
| +    Animation* animation = Animation::create(child, this);
 | 
| +    ASSERT(m_animations.contains(animation));
 | 
|  
 | 
|      animation->play();
 | 
|      ASSERT(m_animationsNeedingUpdate.contains(animation));
 | 
|  
 | 
| -    return animation.get();
 | 
| +    return animation;
 | 
|  }
 | 
|  
 | 
| -WillBeHeapVector<RefPtrWillBeMember<Animation>> AnimationTimeline::getAnimations()
 | 
| +HeapVector<Member<Animation>> AnimationTimeline::getAnimations()
 | 
|  {
 | 
| -    WillBeHeapVector<RefPtrWillBeMember<Animation>> animations;
 | 
| +    HeapVector<Member<Animation>> animations;
 | 
|      for (const auto& animation : m_animations) {
 | 
|          if (animation->effect() && (animation->effect()->isCurrent() || animation->effect()->isInEffect()))
 | 
|              animations.append(animation);
 | 
| @@ -136,14 +136,11 @@ void AnimationTimeline::serviceAnimations(TimingUpdateReason reason)
 | 
|  
 | 
|      m_timing->cancelWake();
 | 
|  
 | 
| -    WillBeHeapVector<RawPtrWillBeMember<Animation>> animations;
 | 
| -    animations.reserveInitialCapacity(m_animationsNeedingUpdate.size());
 | 
| -    for (RefPtrWillBeMember<Animation> animation : m_animationsNeedingUpdate)
 | 
| -        animations.append(animation.get());
 | 
| -
 | 
| +    HeapVector<Member<Animation>> animations;
 | 
| +    copyToVector(m_animationsNeedingUpdate, animations);
 | 
|      std::sort(animations.begin(), animations.end(), Animation::hasLowerPriority);
 | 
|  
 | 
| -    for (Animation* animation : animations) {
 | 
| +    for (Member<Animation> animation : animations) {
 | 
|          if (!animation->update(reason))
 | 
|              m_animationsNeedingUpdate.remove(animation);
 | 
|      }
 | 
| @@ -325,10 +322,10 @@ DEFINE_TRACE(AnimationTimeline)
 | 
|  {
 | 
|  #if ENABLE(OILPAN)
 | 
|      visitor->trace(m_document);
 | 
| +#endif
 | 
|      visitor->trace(m_timing);
 | 
|      visitor->trace(m_animationsNeedingUpdate);
 | 
|      visitor->trace(m_animations);
 | 
| -#endif
 | 
|  }
 | 
|  
 | 
|  } // namespace
 | 
| 
 |