| Index: Source/core/animation/KeyframeEffectModel.h
|
| diff --git a/Source/core/animation/KeyframeEffectModel.h b/Source/core/animation/KeyframeEffectModel.h
|
| index 9ec92d0541ba0d4c622c94d30d2e6c38fa725655..f019b153018f6f545bf6bb0a5b400f0fd4c6a73a 100644
|
| --- a/Source/core/animation/KeyframeEffectModel.h
|
| +++ b/Source/core/animation/KeyframeEffectModel.h
|
| @@ -33,6 +33,7 @@
|
|
|
| #include "core/animation/AnimatableValue.h"
|
| #include "core/animation/AnimationEffect.h"
|
| +#include "core/animation/InterpolationEffect.h"
|
| #include "wtf/HashMap.h"
|
| #include "wtf/HashSet.h"
|
| #include "wtf/PassOwnPtr.h"
|
| @@ -92,7 +93,7 @@ public:
|
| }
|
|
|
| // AnimationEffect implementation.
|
| - virtual PassOwnPtr<CompositableValueList> sample(int iteration, double fraction) const OVERRIDE;
|
| + virtual PassOwnPtr<Vector<RefPtr<Interpolation> > > sample(int iteration, double fraction) const OVERRIDE;
|
|
|
| // FIXME: Implement setFrames()
|
| const KeyframeVector& getFrames() const { return m_keyframes; }
|
| @@ -136,9 +137,12 @@ public:
|
| private:
|
| KeyframeEffectModel(const KeyframeVector& keyframes);
|
|
|
| + KeyframeEffectModel(PassRefPtr<InterpolationEffect> interpolationEffect);
|
| +
|
| KeyframeVector normalizedKeyframes() const;
|
| // Lazily computes the groups of property-specific keyframes.
|
| void ensureKeyframeGroups() const;
|
| + void ensureInterpolationEffect() const;
|
|
|
| KeyframeVector m_keyframes;
|
| // The spec describes filtering the normalized keyframes at sampling time
|
| @@ -146,6 +150,8 @@ private:
|
| // property-specific lists.
|
| typedef HashMap<CSSPropertyID, OwnPtr<PropertySpecificKeyframeGroup> > KeyframeGroupMap;
|
| mutable OwnPtr<KeyframeGroupMap> m_keyframeGroups;
|
| +
|
| + mutable RefPtr<InterpolationEffect> m_interpolationEffect;
|
| };
|
|
|
| DEFINE_TYPE_CASTS(KeyframeEffectModel, AnimationEffect, value, value->isKeyframeEffectModel(), value.isKeyframeEffectModel());
|
|
|