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 |