diff options
Diffstat (limited to 'Source/WebCore/page/animation/AnimationControllerPrivate.h')
-rw-r--r-- | Source/WebCore/page/animation/AnimationControllerPrivate.h | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/Source/WebCore/page/animation/AnimationControllerPrivate.h b/Source/WebCore/page/animation/AnimationControllerPrivate.h index 186dd7d..1146eba 100644 --- a/Source/WebCore/page/animation/AnimationControllerPrivate.h +++ b/Source/WebCore/page/animation/AnimationControllerPrivate.h @@ -33,6 +33,7 @@ #include "PlatformString.h" #include "Timer.h" #include <wtf/HashMap.h> +#include <wtf/HashSet.h> #include <wtf/PassRefPtr.h> #include <wtf/RefPtr.h> #include <wtf/Vector.h> @@ -48,6 +49,7 @@ class Frame; class Node; class RenderObject; class RenderStyle; +class WebKitAnimationList; class AnimationControllerPrivate { WTF_MAKE_NONCOPYABLE(AnimationControllerPrivate); WTF_MAKE_FAST_ALLOCATED; @@ -87,11 +89,15 @@ public: void endAnimationUpdate(); void receivedStartTimeResponse(double); - void addToStyleAvailableWaitList(AnimationBase*); - void removeFromStyleAvailableWaitList(AnimationBase*); - - void addToStartTimeResponseWaitList(AnimationBase*, bool willGetResponse); - void removeFromStartTimeResponseWaitList(AnimationBase*); + void addToAnimationsWaitingForStyle(AnimationBase*); + void removeFromAnimationsWaitingForStyle(AnimationBase*); + + void addToAnimationsWaitingForStartTimeResponse(AnimationBase*, bool willGetResponse); + void removeFromAnimationsWaitingForStartTimeResponse(AnimationBase*); + + void animationWillBeRemoved(AnimationBase*); + + PassRefPtr<WebKitAnimationList> animationsForRenderer(RenderObject*) const; private: void animationTimerFired(Timer<AnimationControllerPrivate>*); @@ -119,12 +125,11 @@ private: Vector<RefPtr<Node> > m_nodeChangesToDispatch; double m_beginAnimationUpdateTime; - AnimationBase* m_styleAvailableWaiters; - AnimationBase* m_lastStyleAvailableWaiter; - - AnimationBase* m_startTimeResponseWaiters; - AnimationBase* m_lastStartTimeResponseWaiter; - bool m_waitingForStartTimeResponse; + + typedef HashSet<RefPtr<AnimationBase> > WaitingAnimationsSet; + WaitingAnimationsSet m_animationsWaitingForStyle; + WaitingAnimationsSet m_animationsWaitingForStartTimeResponse; + bool m_waitingForAsyncStartNotification; }; } // namespace WebCore |