| Index: Source/core/animation/KeyframeEffectModel.h
|
| diff --git a/Source/core/animation/KeyframeEffectModel.h b/Source/core/animation/KeyframeEffectModel.h
|
| index 319f87277fb58b6beba8e8897cdb3eae47ba4785..61df636a892eb32f4b4f0c9b4c61c8de2c27c29f 100644
|
| --- a/Source/core/animation/KeyframeEffectModel.h
|
| +++ b/Source/core/animation/KeyframeEffectModel.h
|
| @@ -55,14 +55,12 @@ class CORE_EXPORT KeyframeEffectModelBase : public EffectModel {
|
| public:
|
| // FIXME: Implement accumulation.
|
|
|
| - using PropertySpecificKeyframeVector = WillBeHeapVector<OwnPtrWillBeMember<Keyframe::PropertySpecificKeyframe>>;
|
| - class PropertySpecificKeyframeGroup : public NoBaseWillBeGarbageCollected<PropertySpecificKeyframeGroup> {
|
| + using PropertySpecificKeyframeVector = Vector<OwnPtr<Keyframe::PropertySpecificKeyframe>>;
|
| + class PropertySpecificKeyframeGroup {
|
| public:
|
| - void appendKeyframe(PassOwnPtrWillBeRawPtr<Keyframe::PropertySpecificKeyframe>);
|
| + void appendKeyframe(PassOwnPtr<Keyframe::PropertySpecificKeyframe>);
|
| const PropertySpecificKeyframeVector& keyframes() const { return m_keyframes; }
|
|
|
| - DECLARE_TRACE();
|
| -
|
| private:
|
| void removeRedundantKeyframes();
|
| bool addSyntheticKeyframeIfRequired(PassRefPtr<TimingFunction> neutralKeyframeEasing);
|
| @@ -76,7 +74,7 @@ public:
|
|
|
| PropertyHandleSet properties() const;
|
|
|
| - using KeyframeVector = WillBeHeapVector<RefPtrWillBeMember<Keyframe>>;
|
| + using KeyframeVector = Vector<RefPtr<Keyframe>>;
|
| const KeyframeVector& getFrames() const { return m_keyframes; }
|
| void setFrames(KeyframeVector& keyframes);
|
|
|
| @@ -87,7 +85,7 @@ public:
|
| }
|
|
|
| // EffectModel implementation.
|
| - void sample(int iteration, double fraction, double iterationDuration, OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>>&) const override;
|
| + void sample(int iteration, double fraction, double iterationDuration, OwnPtr<Vector<RefPtr<Interpolation>>>&) const override;
|
|
|
| bool isKeyframeEffectModel() const override { return true; }
|
|
|
| @@ -100,12 +98,10 @@ public:
|
| return m_hasSyntheticKeyframes;
|
| }
|
|
|
| - DECLARE_VIRTUAL_TRACE();
|
| -
|
| // FIXME: This is a hack used to resolve CSSValues to AnimatableValues while we have a valid handle on an element.
|
| // This should be removed once AnimatableValues are obsolete.
|
| void forceConversionsToAnimatableValues(Element&, const ComputedStyle* baseStyle);
|
| - bool updateNeutralKeyframeAnimatableValues(CSSPropertyID, PassRefPtrWillBeRawPtr<AnimatableValue>);
|
| + bool updateNeutralKeyframeAnimatableValues(CSSPropertyID, PassRefPtr<AnimatableValue>);
|
|
|
| template<typename T>
|
| inline void forEachInterpolation(const T& callback) { m_interpolationEffect->forEachInterpolation(callback); }
|
| @@ -137,9 +133,9 @@ protected:
|
| // The spec describes filtering the normalized keyframes at sampling time
|
| // to get the 'property-specific keyframes'. For efficiency, we cache the
|
| // property-specific lists.
|
| - using KeyframeGroupMap = WillBeHeapHashMap<PropertyHandle, OwnPtrWillBeMember<PropertySpecificKeyframeGroup>>;
|
| - mutable OwnPtrWillBeMember<KeyframeGroupMap> m_keyframeGroups;
|
| - mutable Member<InterpolationEffect> m_interpolationEffect;
|
| + using KeyframeGroupMap = HashMap<PropertyHandle, OwnPtr<PropertySpecificKeyframeGroup>>;
|
| + mutable OwnPtr<KeyframeGroupMap> m_keyframeGroups;
|
| + mutable RefPtr<InterpolationEffect> m_interpolationEffect;
|
| RefPtr<TimingFunction> m_neutralKeyframeEasing;
|
|
|
| mutable bool m_hasSyntheticKeyframes;
|
| @@ -150,7 +146,7 @@ protected:
|
| template <class Keyframe>
|
| class KeyframeEffectModel final : public KeyframeEffectModelBase {
|
| public:
|
| - using KeyframeVector = WillBeHeapVector<RefPtrWillBeMember<Keyframe>>;
|
| + using KeyframeVector = Vector<RefPtr<Keyframe>>;
|
| static KeyframeEffectModel<Keyframe>* create(const KeyframeVector& keyframes, PassRefPtrWillBeRawPtr<TimingFunction> neutralKeyframeEasing = nullptr)
|
| {
|
| return new KeyframeEffectModel(keyframes, neutralKeyframeEasing);
|
|
|