Chromium Code Reviews| Index: Source/core/animation/Animation.h | 
| diff --git a/Source/core/animation/Animation.h b/Source/core/animation/Animation.h | 
| index 0940b3fe6e246c3325a070cd8a066871dfd18249..b5bb977354ed6bb8975604857e997288b4ce7a25 100644 | 
| --- a/Source/core/animation/Animation.h | 
| +++ b/Source/core/animation/Animation.h | 
| @@ -45,6 +45,7 @@ public: | 
| enum Priority { DefaultPriority, TransitionPriority }; | 
| static PassRefPtr<Animation> create(PassRefPtr<Element>, PassRefPtr<AnimationEffect>, const Timing&, Priority = DefaultPriority, PassOwnPtr<EventDelegate> = nullptr); | 
| + virtual bool isAnimation() OVERRIDE FINAL { return true; } | 
| const AnimationEffect::CompositableValueMap* compositableValues() const | 
| { | 
| @@ -52,9 +53,17 @@ public: | 
| return m_compositableValues.get(); | 
| } | 
| + bool affects(CSSPropertyID) const; | 
| const AnimationEffect* effect() const { return m_effect.get(); } | 
| Priority priority() const { return m_priority; } | 
| + bool isCandidateForCompositorAnimations() const; | 
| + // Must only be called once and assumes to be part of a player without a start time. | 
| + bool maybeStartCompositorAnimations(); | 
| + bool isRunningCompositorAnimations() const; | 
| + bool isRunningCompositorAnimations(CSSPropertyID) const; | 
| + void cancelCompositorAnimations(); | 
| + | 
| protected: | 
| // Returns whether style recalc was triggered. | 
| virtual bool applyEffects(bool previouslyInEffect); | 
| @@ -74,8 +83,16 @@ private: | 
| OwnPtr<AnimationEffect::CompositableValueMap> m_compositableValues; | 
| Priority m_priority; | 
| + | 
| + Vector<int> m_compositorAnimationIds; | 
| }; | 
| +inline Animation* toAnimation(TimedItem* timedItem) | 
| +{ | 
| + ASSERT_WITH_SECURITY_IMPLICATION(timedItem && timedItem->isAnimation()); | 
| + return static_cast<Animation*>(timedItem); | 
| 
 
shans
2013/11/18 21:55:01
use macro magic to generate this cast?
 
dstockwell
2013/11/19 02:04:58
Done.
 
 | 
| +} | 
| + | 
| } // namespace WebCore | 
| #endif |