Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(303)

Unified Diff: Source/core/animation/KeyframeEffectModel.h

Issue 1276183004: Oilpan: Unship oilpan from temporary animation objects (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698