| Index: Source/core/animation/AnimationStack.cpp
|
| diff --git a/Source/core/animation/AnimationStack.cpp b/Source/core/animation/AnimationStack.cpp
|
| index d9645baebc7937b8c5962bd4550cdbd773676993..08e4ea2f809f3878a594b7d3003eddaf83351653 100644
|
| --- a/Source/core/animation/AnimationStack.cpp
|
| +++ b/Source/core/animation/AnimationStack.cpp
|
| @@ -42,23 +42,23 @@ namespace blink {
|
|
|
| namespace {
|
|
|
| -void copyToActiveInterpolationMap(const WillBeHeapVector<RefPtrWillBeMember<Interpolation>>& source, ActiveInterpolationMap& target)
|
| +void copyToActiveInterpolationMap(const HeapVector<Member<Interpolation>>& source, ActiveInterpolationMap& target)
|
| {
|
| for (const auto& interpolation : source) {
|
| target.set(interpolation->property(), interpolation.get());
|
| }
|
| }
|
|
|
| -bool compareEffects(const OwnPtrWillBeMember<SampledEffect>& effect1, const OwnPtrWillBeMember<SampledEffect>& effect2)
|
| +bool compareEffects(const Member<SampledEffect>& effect1, const Member<SampledEffect>& effect2)
|
| {
|
| ASSERT(effect1 && effect2);
|
| return effect1->sequenceNumber() < effect2->sequenceNumber();
|
| }
|
|
|
| -void copyNewAnimationsToActiveInterpolationMap(const WillBeHeapVector<RawPtrWillBeMember<InertEffect>>& newAnimations, ActiveInterpolationMap& result)
|
| +void copyNewAnimationsToActiveInterpolationMap(const HeapVector<Member<InertEffect>>& newAnimations, ActiveInterpolationMap& result)
|
| {
|
| for (const auto& newAnimation : newAnimations) {
|
| - OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> sample = nullptr;
|
| + HeapVector<Member<Interpolation>>* sample = nullptr;
|
| newAnimation->sample(sample);
|
| if (sample)
|
| copyToActiveInterpolationMap(*sample, result);
|
| @@ -80,16 +80,15 @@ bool AnimationStack::hasActiveAnimationsOnCompositor(CSSPropertyID property) con
|
| return false;
|
| }
|
|
|
| -ActiveInterpolationMap AnimationStack::activeInterpolations(AnimationStack* animationStack, const WillBeHeapVector<RawPtrWillBeMember<InertEffect>>* newAnimations, const WillBeHeapHashSet<RawPtrWillBeMember<const Animation>>* suppressedAnimations, KeyframeEffect::Priority priority, double timelineCurrentTime)
|
| +ActiveInterpolationMap AnimationStack::activeInterpolations(AnimationStack* animationStack, const HeapVector<Member<InertEffect>>* newAnimations, const HeapHashSet<Member<const Animation>>* suppressedAnimations, KeyframeEffect::Priority priority, double timelineCurrentTime)
|
| {
|
| // We don't exactly know when new animations will start, but timelineCurrentTime is a good estimate.
|
|
|
| ActiveInterpolationMap result;
|
|
|
| if (animationStack) {
|
| - WillBeHeapVector<OwnPtrWillBeMember<SampledEffect>>& effects = animationStack->m_effects;
|
| - // std::sort doesn't work with OwnPtrs
|
| - nonCopyingSort(effects.begin(), effects.end(), compareEffects);
|
| + HeapVector<Member<SampledEffect>>& effects = animationStack->m_effects;
|
| + std::sort(effects.begin(), effects.end(), compareEffects);
|
| animationStack->removeClearedEffects();
|
| for (const auto& effect : effects) {
|
| if (effect->priority() != priority || (suppressedAnimations && effect->effect() && suppressedAnimations->contains(effect->effect()->animation())))
|
|
|