| 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
|
|
|