Chromium Code Reviews| Index: Source/core/animation/KeyframeEffectModel.h |
| diff --git a/Source/core/animation/KeyframeEffectModel.h b/Source/core/animation/KeyframeEffectModel.h |
| index 319f87277fb58b6beba8e8897cdb3eae47ba4785..2830e82631556f5de34290752557467c9b69101d 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; } |
| @@ -105,7 +103,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: |
| // to get the 'property-specific keyframes'. For efficiency, we cache the |
| // property-specific lists. |
| using KeyframeGroupMap = WillBeHeapHashMap<PropertyHandle, OwnPtrWillBeMember<PropertySpecificKeyframeGroup>>; |
|
sof
2015/09/02 13:02:12
The value type doesn't look correct now. OwnPtr<>
|
| - mutable OwnPtrWillBeMember<KeyframeGroupMap> m_keyframeGroups; |
| - mutable Member<InterpolationEffect> m_interpolationEffect; |
| + mutable OwnPtr<KeyframeGroupMap> m_keyframeGroups; |
| + mutable RefPtr<InterpolationEffect> m_interpolationEffect; |
| RefPtr<TimingFunction> m_neutralKeyframeEasing; |
| mutable bool m_hasSyntheticKeyframes; |
| @@ -150,7 +148,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); |