Chromium Code Reviews| Index: Source/core/animation/css/CSSAnimations.h |
| diff --git a/Source/core/animation/css/CSSAnimations.h b/Source/core/animation/css/CSSAnimations.h |
| index 4ea29a78f5bab0486f48c0414a94c20bc1f9a1a2..4b7a680e3c41427bd430fd7794ef1289164933e4 100644 |
| --- a/Source/core/animation/css/CSSAnimations.h |
| +++ b/Source/core/animation/css/CSSAnimations.h |
| @@ -32,7 +32,10 @@ |
| #define CSSAnimations_h |
| #include "core/animation/InertAnimation.h" |
| +#include "core/animation/Interpolation.h" |
| +#include "core/animation/css/CSSAnimationData.h" |
| #include "core/animation/css/CSSAnimationUpdate.h" |
| +#include "core/css/CSSKeyframesRule.h" |
| #include "core/css/StylePropertySet.h" |
| #include "core/dom/Document.h" |
| #include "wtf/HashMap.h" |
| @@ -44,7 +47,6 @@ class CSSTransitionData; |
| class Element; |
| class StylePropertyShorthand; |
| class StyleResolver; |
| -class StyleRuleKeyframes; |
| class CSSAnimations final { |
| WTF_MAKE_NONCOPYABLE(CSSAnimations); |
| @@ -66,6 +68,20 @@ public: |
| void trace(Visitor*); |
| private: |
| + struct RunningAnimation { |
| + ALLOW_ONLY_INLINE_ALLOCATION(); |
| + public: |
| + void trace(Visitor* visitor) |
| + { |
| + visitor->trace(player); |
| + } |
| + |
| + RefPtrWillBeMember<AnimationPlayer> player; |
| + Timing specifiedTiming; |
| + RefPtrWillBeMember<StyleRuleKeyframes> styleRule; |
| + unsigned styleChangeCounter; |
|
esprehn
2015/01/29 04:23:19
constructor needs to set this to 0
shend
2015/01/30 00:03:10
Done.
|
| + }; |
| + |
| struct RunningTransition { |
| ALLOW_ONLY_INLINE_ALLOCATION(); |
| public: |
| @@ -81,7 +97,7 @@ private: |
| RawPtrWillBeMember<const AnimatableValue> to; |
| }; |
| - using AnimationMap = WillBeHeapHashMap<AtomicString, RefPtrWillBeMember<AnimationPlayer>>; |
| + using AnimationMap = WillBeHeapHashMap<AtomicString, RunningAnimation>; |
| AnimationMap m_animations; |
| using TransitionMap = WillBeHeapHashMap<CSSPropertyID, RunningTransition>; |