OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef InspectorAnimationAgent_h | 5 #ifndef InspectorAnimationAgent_h |
6 #define InspectorAnimationAgent_h | 6 #define InspectorAnimationAgent_h |
7 | 7 |
8 #include "core/InspectorFrontend.h" | 8 #include "core/InspectorFrontend.h" |
9 #include "core/css/CSSKeyframesRule.h" | 9 #include "core/css/CSSKeyframesRule.h" |
10 #include "core/inspector/InspectorBaseAgent.h" | 10 #include "core/inspector/InspectorBaseAgent.h" |
11 #include "wtf/PassOwnPtr.h" | 11 #include "wtf/PassOwnPtr.h" |
12 #include "wtf/text/WTFString.h" | 12 #include "wtf/text/WTFString.h" |
13 | 13 |
14 namespace blink { | 14 namespace blink { |
15 | 15 |
| 16 class Animation; |
16 class AnimationNode; | 17 class AnimationNode; |
17 class AnimationPlayer; | |
18 class AnimationTimeline; | 18 class AnimationTimeline; |
19 class Element; | 19 class Element; |
20 class InspectorDOMAgent; | 20 class InspectorDOMAgent; |
21 class InspectorPageAgent; | 21 class InspectorPageAgent; |
22 class TimingFunction; | 22 class TimingFunction; |
23 | 23 |
24 class InspectorAnimationAgent final : public InspectorBaseAgent<InspectorAnimati
onAgent, InspectorFrontend::Animation>, public InspectorBackendDispatcher::Anima
tionCommandHandler { | 24 class InspectorAnimationAgent final : public InspectorBaseAgent<InspectorAnimati
onAgent, InspectorFrontend::Animation>, public InspectorBackendDispatcher::Anima
tionCommandHandler { |
25 WTF_MAKE_NONCOPYABLE(InspectorAnimationAgent); | 25 WTF_MAKE_NONCOPYABLE(InspectorAnimationAgent); |
26 public: | 26 public: |
27 static PassOwnPtrWillBeRawPtr<InspectorAnimationAgent> create(InspectorPageA
gent* pageAgent, InspectorDOMAgent* domAgent) | 27 static PassOwnPtrWillBeRawPtr<InspectorAnimationAgent> create(InspectorPageA
gent* pageAgent, InspectorDOMAgent* domAgent) |
28 { | 28 { |
29 return adoptPtrWillBeNoop(new InspectorAnimationAgent(pageAgent, domAgen
t)); | 29 return adoptPtrWillBeNoop(new InspectorAnimationAgent(pageAgent, domAgen
t)); |
30 } | 30 } |
31 | 31 |
32 // Base agent methods. | 32 // Base agent methods. |
33 void restore() override; | 33 void restore() override; |
34 void disable(ErrorString*) override; | 34 void disable(ErrorString*) override; |
35 void didCommitLoadForLocalFrame(LocalFrame*) override; | 35 void didCommitLoadForLocalFrame(LocalFrame*) override; |
36 | 36 |
37 // Protocol method implementations | 37 // Protocol method implementations |
38 virtual void getAnimationPlayersForNode(ErrorString*, int nodeId, bool inclu
deSubtreeAnimations, RefPtr<TypeBuilder::Array<TypeBuilder::Animation::Animation
Player> >& animationPlayersArray) override; | 38 virtual void getAnimationPlayersForNode(ErrorString*, int nodeId, bool inclu
deSubtreeAnimations, RefPtr<TypeBuilder::Array<TypeBuilder::Animation::Animation
Player> >& animationPlayersArray) override; |
39 virtual void getPlaybackRate(ErrorString*, double* playbackRate) override; | 39 virtual void getPlaybackRate(ErrorString*, double* playbackRate) override; |
40 virtual void setPlaybackRate(ErrorString*, double playbackRate) override; | 40 virtual void setPlaybackRate(ErrorString*, double playbackRate) override; |
41 virtual void setCurrentTime(ErrorString*, double currentTime) override; | 41 virtual void setCurrentTime(ErrorString*, double currentTime) override; |
42 virtual void setTiming(ErrorString*, const String& playerId, double duration
, double delay) override; | 42 virtual void setTiming(ErrorString*, const String& playerId, double duration
, double delay) override; |
43 | 43 |
44 // API for InspectorInstrumentation | 44 // API for InspectorInstrumentation |
45 void didCreateAnimationPlayer(AnimationPlayer*); | 45 void didCreateAnimation(Animation*); |
46 void didCancelAnimationPlayer(AnimationPlayer*); | 46 void didCancelAnimation(Animation*); |
47 void didClearDocumentOfWindowObject(LocalFrame*); | 47 void didClearDocumentOfWindowObject(LocalFrame*); |
48 | 48 |
49 // API for InspectorFrontend | 49 // API for InspectorFrontend |
50 virtual void enable(ErrorString*) override; | 50 virtual void enable(ErrorString*) override; |
51 | 51 |
52 // Methods for other agents to use. | 52 // Methods for other agents to use. |
53 AnimationPlayer* assertAnimationPlayer(ErrorString*, const String& id); | 53 Animation* assertAnimation(ErrorString*, const String& id); |
54 | 54 |
55 DECLARE_VIRTUAL_TRACE(); | 55 DECLARE_VIRTUAL_TRACE(); |
56 | 56 |
57 private: | 57 private: |
58 InspectorAnimationAgent(InspectorPageAgent*, InspectorDOMAgent*); | 58 InspectorAnimationAgent(InspectorPageAgent*, InspectorDOMAgent*); |
59 | 59 |
60 typedef TypeBuilder::Animation::AnimationPlayer::Type::Enum AnimationType; | 60 typedef TypeBuilder::Animation::AnimationPlayer::Type::Enum AnimationType; |
61 | 61 |
62 PassRefPtr<TypeBuilder::Animation::AnimationPlayer> buildObjectForAnimationP
layer(AnimationPlayer&); | 62 PassRefPtr<TypeBuilder::Animation::AnimationPlayer> buildObjectForAnimationP
layer(Animation&); |
63 PassRefPtr<TypeBuilder::Animation::AnimationPlayer> buildObjectForAnimationP
layer(AnimationPlayer&, AnimationType, PassRefPtr<TypeBuilder::Animation::Keyfra
mesRule> keyframeRule = nullptr); | 63 PassRefPtr<TypeBuilder::Animation::AnimationPlayer> buildObjectForAnimationP
layer(Animation&, AnimationType, PassRefPtr<TypeBuilder::Animation::KeyframesRul
e> keyframeRule = nullptr); |
64 PassRefPtr<TypeBuilder::Array<TypeBuilder::Animation::AnimationPlayer> > bui
ldArrayForAnimationPlayers(Element&, const WillBeHeapVector<RefPtrWillBeMember<A
nimationPlayer> >); | 64 PassRefPtr<TypeBuilder::Array<TypeBuilder::Animation::AnimationPlayer>> buil
dArrayForAnimations(Element&, const WillBeHeapVector<RefPtrWillBeMember<Animatio
n>>); |
65 double normalizedStartTime(AnimationPlayer&); | 65 double normalizedStartTime(Animation&); |
66 AnimationTimeline& referenceTimeline(); | 66 AnimationTimeline& referenceTimeline(); |
67 | 67 |
68 RawPtrWillBeMember<InspectorPageAgent> m_pageAgent; | 68 RawPtrWillBeMember<InspectorPageAgent> m_pageAgent; |
69 RawPtrWillBeMember<InspectorDOMAgent> m_domAgent; | 69 RawPtrWillBeMember<InspectorDOMAgent> m_domAgent; |
70 WillBeHeapHashMap<String, RefPtrWillBeMember<AnimationPlayer>> m_idToAnimati
onPlayer; | 70 WillBeHeapHashMap<String, RefPtrWillBeMember<Animation>> m_idToAnimation; |
71 WillBeHeapHashMap<String, AnimationType> m_idToAnimationType; | 71 WillBeHeapHashMap<String, AnimationType> m_idToAnimationType; |
72 }; | 72 }; |
73 | 73 |
74 } | 74 } |
75 | 75 |
76 #endif // InspectorAnimationAgent_h | 76 #endif // InspectorAnimationAgent_h |
OLD | NEW |