| Index: Source/core/animation/css/CSSAnimations.h
|
| diff --git a/Source/core/animation/css/CSSAnimations.h b/Source/core/animation/css/CSSAnimations.h
|
| index c3888f9054f64d962e2989b5cefde06286562515..bcec0b73c8e3c552d99ce243fe34b849bcd0a2db 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);
|
| @@ -67,6 +69,35 @@ public:
|
| void trace(Visitor*);
|
|
|
| private:
|
| + class RunningAnimation final : public RefCountedWillBeGarbageCollected<RunningAnimation> {
|
| + public:
|
| + RunningAnimation(PassRefPtrWillBeRawPtr<AnimationPlayer> player, CSSAnimationUpdate::NewAnimation animation)
|
| + : player(player)
|
| + , specifiedTiming(animation.timing)
|
| + , styleRule(animation.styleRule)
|
| + , styleRuleVersion(animation.styleRuleVersion)
|
| + {
|
| + }
|
| +
|
| + void update(CSSAnimationUpdate::UpdatedAnimation update)
|
| + {
|
| + styleRule = update.styleRule;
|
| + styleRuleVersion = update.styleRuleVersion;
|
| + specifiedTiming = update.specifiedTiming;
|
| + }
|
| +
|
| + void trace(Visitor* visitor)
|
| + {
|
| + visitor->trace(player);
|
| + visitor->trace(styleRule);
|
| + }
|
| +
|
| + RefPtrWillBeMember<AnimationPlayer> player;
|
| + Timing specifiedTiming;
|
| + RefPtrWillBeMember<StyleRuleKeyframes> styleRule;
|
| + unsigned styleRuleVersion;
|
| + };
|
| +
|
| struct RunningTransition {
|
| ALLOW_ONLY_INLINE_ALLOCATION();
|
| public:
|
| @@ -82,7 +113,7 @@ private:
|
| RawPtrWillBeMember<const AnimatableValue> to;
|
| };
|
|
|
| - using AnimationMap = WillBeHeapHashMap<AtomicString, RefPtrWillBeMember<AnimationPlayer>>;
|
| + using AnimationMap = WillBeHeapHashMap<AtomicString, RefPtrWillBeMember<RunningAnimation>>;
|
| AnimationMap m_animations;
|
|
|
| using TransitionMap = WillBeHeapHashMap<CSSPropertyID, RunningTransition>;
|
|
|