| Index: Source/core/animation/AnimationStack.cpp
|
| diff --git a/Source/core/animation/AnimationStack.cpp b/Source/core/animation/AnimationStack.cpp
|
| index 3b855c6eda43db70b92907b2376f388ddbed1e9d..5c33b87a74899a0826952d8852119c487f96e39d 100644
|
| --- a/Source/core/animation/AnimationStack.cpp
|
| +++ b/Source/core/animation/AnimationStack.cpp
|
| @@ -49,13 +49,13 @@ void copyToActiveInterpolationMap(const WillBeHeapVector<RefPtrWillBeMember<WebC
|
| }
|
| }
|
|
|
| -bool compareEffects(const OwnPtr<SampledEffect>& effect1, const OwnPtr<SampledEffect>& effect2)
|
| +bool compareEffects(const OwnPtrWillBeMember<SampledEffect>& effect1, const OwnPtrWillBeMember<SampledEffect>& effect2)
|
| {
|
| ASSERT(effect1 && effect2);
|
| return effect1->sortInfo() < effect2->sortInfo();
|
| }
|
|
|
| -void copyNewAnimationsToActiveInterpolationMap(const Vector<InertAnimation*>& newAnimations, WillBeHeapHashMap<CSSPropertyID, RefPtrWillBeMember<Interpolation> >& result)
|
| +void copyNewAnimationsToActiveInterpolationMap(const WillBeHeapVector<RawPtrWillBeMember<InertAnimation> >& newAnimations, WillBeHeapHashMap<CSSPropertyID, RefPtrWillBeMember<Interpolation> >& result)
|
| {
|
| for (size_t i = 0; i < newAnimations.size(); ++i) {
|
| OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > sample = newAnimations[i]->sample(0);
|
| @@ -89,14 +89,14 @@ bool AnimationStack::hasActiveAnimationsOnCompositor(CSSPropertyID property) con
|
| return false;
|
| }
|
|
|
| -WillBeHeapHashMap<CSSPropertyID, RefPtrWillBeMember<Interpolation> > AnimationStack::activeInterpolations(AnimationStack* animationStack, const Vector<InertAnimation*>* newAnimations, const HashSet<const AnimationPlayer*>* cancelledAnimationPlayers, Animation::Priority priority, double timelineCurrentTime)
|
| +WillBeHeapHashMap<CSSPropertyID, RefPtrWillBeMember<Interpolation> > AnimationStack::activeInterpolations(AnimationStack* animationStack, const WillBeHeapVector<RawPtrWillBeMember<InertAnimation> >* newAnimations, const WillBeHeapHashSet<RawPtrWillBeMember<const AnimationPlayer> >* cancelledAnimationPlayers, Animation::Priority priority, double timelineCurrentTime)
|
| {
|
| // We don't exactly know when new animations will start, but timelineCurrentTime is a good estimate.
|
|
|
| WillBeHeapHashMap<CSSPropertyID, RefPtrWillBeMember<Interpolation> > result;
|
|
|
| if (animationStack) {
|
| - Vector<OwnPtr<SampledEffect> >& effects = animationStack->m_effects;
|
| + WillBeHeapVector<OwnPtrWillBeMember<SampledEffect> >& effects = animationStack->m_effects;
|
| // std::sort doesn't work with OwnPtrs
|
| nonCopyingSort(effects.begin(), effects.end(), compareEffects);
|
| animationStack->simplifyEffects();
|
| @@ -135,7 +135,7 @@ void AnimationStack::simplifyEffects()
|
| size_t dest = 0;
|
| for (size_t i = 0; i < m_effects.size(); ++i) {
|
| if (!m_effects[i]->interpolations().isEmpty()) {
|
| - swap(m_effects[dest++], m_effects[i]);
|
| + m_effects[dest++].swap(m_effects[i]);
|
| continue;
|
| }
|
| if (m_effects[i]->animation())
|
| @@ -144,4 +144,9 @@ void AnimationStack::simplifyEffects()
|
| m_effects.shrink(dest);
|
| }
|
|
|
| +void AnimationStack::trace(Visitor* visitor)
|
| +{
|
| + visitor->trace(m_effects);
|
| +}
|
| +
|
| } // namespace WebCore
|
|
|