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()); |