| Index: Source/core/animation/KeyframeEffectModel.h
|
| diff --git a/Source/core/animation/KeyframeEffectModel.h b/Source/core/animation/KeyframeEffectModel.h
|
| index 8dc00c303c9a98f0957f8d13d0e99319281a6def..65e8c285e8d97298753f03f988038963536503b9 100644
|
| --- a/Source/core/animation/KeyframeEffectModel.h
|
| +++ b/Source/core/animation/KeyframeEffectModel.h
|
| @@ -56,14 +56,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);
|
| @@ -77,7 +75,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);
|
|
|
| @@ -106,7 +104,7 @@ public:
|
| // 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); }
|
| @@ -138,8 +136,8 @@ 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;
|
| + using KeyframeGroupMap = HashMap<PropertyHandle, OwnPtr<PropertySpecificKeyframeGroup>>;
|
| + mutable OwnPtr<KeyframeGroupMap> m_keyframeGroups;
|
| mutable RefPtrWillBeMember<InterpolationEffect> m_interpolationEffect;
|
| RefPtr<TimingFunction> m_neutralKeyframeEasing;
|
|
|
| @@ -151,7 +149,7 @@ protected:
|
| template <class Keyframe>
|
| class KeyframeEffectModel final : public KeyframeEffectModelBase {
|
| public:
|
| - using KeyframeVector = WillBeHeapVector<RefPtrWillBeMember<Keyframe>>;
|
| + using KeyframeVector = Vector<RefPtr<Keyframe>>;
|
| static PassRefPtrWillBeRawPtr<KeyframeEffectModel<Keyframe>> create(const KeyframeVector& keyframes, PassRefPtrWillBeRawPtr<TimingFunction> neutralKeyframeEasing = nullptr)
|
| {
|
| return adoptRefWillBeNoop(new KeyframeEffectModel(keyframes, neutralKeyframeEasing));
|
|
|