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 AnimationNode; | 16 class AnimationNode; |
17 class AnimationPlayer; | 17 class AnimationPlayer; |
| 18 class AnimationTimeline; |
18 class Element; | 19 class Element; |
19 class InspectorDOMAgent; | 20 class InspectorDOMAgent; |
20 class InspectorPageAgent; | 21 class InspectorPageAgent; |
21 class TimingFunction; | 22 class TimingFunction; |
22 | 23 |
23 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 { |
24 WTF_MAKE_NONCOPYABLE(InspectorAnimationAgent); | 25 WTF_MAKE_NONCOPYABLE(InspectorAnimationAgent); |
25 public: | 26 public: |
26 static PassOwnPtrWillBeRawPtr<InspectorAnimationAgent> create(InspectorPageA
gent* pageAgent, InspectorDOMAgent* domAgent) | 27 static PassOwnPtrWillBeRawPtr<InspectorAnimationAgent> create(InspectorPageA
gent* pageAgent, InspectorDOMAgent* domAgent) |
27 { | 28 { |
28 return adoptPtrWillBeNoop(new InspectorAnimationAgent(pageAgent, domAgen
t)); | 29 return adoptPtrWillBeNoop(new InspectorAnimationAgent(pageAgent, domAgen
t)); |
29 } | 30 } |
30 | 31 |
31 // Base agent methods. | 32 // Base agent methods. |
32 void restore() override; | 33 void restore() override; |
33 void disable(ErrorString*) override; | 34 void disable(ErrorString*) override; |
34 void didCommitLoadForLocalFrame(LocalFrame*) override; | 35 void didCommitLoadForLocalFrame(LocalFrame*) override; |
35 | 36 |
36 // Protocol method implementations | 37 // Protocol method implementations |
37 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; |
38 virtual void getPlaybackRate(ErrorString*, double* playbackRate) override; | 39 virtual void getPlaybackRate(ErrorString*, double* playbackRate) override; |
39 virtual void setPlaybackRate(ErrorString*, double playbackRate) override; | 40 virtual void setPlaybackRate(ErrorString*, double playbackRate) override; |
40 virtual void setCurrentTime(ErrorString*, double currentTime) override; | 41 virtual void setCurrentTime(ErrorString*, double currentTime) override; |
41 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; |
42 | 43 |
43 // API for InspectorInstrumentation | 44 // API for InspectorInstrumentation |
44 void didCreateAnimationPlayer(AnimationPlayer*); | 45 void didCreateAnimationPlayer(AnimationPlayer*); |
45 void didCancelAnimationPlayer(AnimationPlayer*); | 46 void didCancelAnimationPlayer(AnimationPlayer*); |
| 47 void didClearDocumentOfWindowObject(LocalFrame*); |
46 | 48 |
47 // API for InspectorFrontend | 49 // API for InspectorFrontend |
48 virtual void enable(ErrorString*) override; | 50 virtual void enable(ErrorString*) override; |
49 | 51 |
50 // Methods for other agents to use. | 52 // Methods for other agents to use. |
51 AnimationPlayer* assertAnimationPlayer(ErrorString*, const String& id); | 53 AnimationPlayer* assertAnimationPlayer(ErrorString*, const String& id); |
52 | 54 |
53 DECLARE_VIRTUAL_TRACE(); | 55 DECLARE_VIRTUAL_TRACE(); |
54 | 56 |
55 private: | 57 private: |
56 InspectorAnimationAgent(InspectorPageAgent*, InspectorDOMAgent*); | 58 InspectorAnimationAgent(InspectorPageAgent*, InspectorDOMAgent*); |
57 | 59 |
58 typedef TypeBuilder::Animation::AnimationPlayer::Type::Enum AnimationType; | 60 typedef TypeBuilder::Animation::AnimationPlayer::Type::Enum AnimationType; |
59 | 61 |
60 PassRefPtr<TypeBuilder::Animation::AnimationPlayer> buildObjectForAnimationP
layer(AnimationPlayer&); | 62 PassRefPtr<TypeBuilder::Animation::AnimationPlayer> buildObjectForAnimationP
layer(AnimationPlayer&); |
61 PassRefPtr<TypeBuilder::Animation::AnimationPlayer> buildObjectForAnimationP
layer(AnimationPlayer&, AnimationType, PassRefPtr<TypeBuilder::Animation::Keyfra
mesRule> keyframeRule = nullptr); | 63 PassRefPtr<TypeBuilder::Animation::AnimationPlayer> buildObjectForAnimationP
layer(AnimationPlayer&, AnimationType, PassRefPtr<TypeBuilder::Animation::Keyfra
mesRule> keyframeRule = nullptr); |
62 PassRefPtr<TypeBuilder::Array<TypeBuilder::Animation::AnimationPlayer> > bui
ldArrayForAnimationPlayers(Element&, const WillBeHeapVector<RefPtrWillBeMember<A
nimationPlayer> >); | 64 PassRefPtr<TypeBuilder::Array<TypeBuilder::Animation::AnimationPlayer> > bui
ldArrayForAnimationPlayers(Element&, const WillBeHeapVector<RefPtrWillBeMember<A
nimationPlayer> >); |
| 65 double normalizedStartTime(AnimationPlayer&); |
| 66 AnimationTimeline& referenceTimeline(); |
63 | 67 |
64 RawPtrWillBeMember<InspectorPageAgent> m_pageAgent; | 68 RawPtrWillBeMember<InspectorPageAgent> m_pageAgent; |
65 RawPtrWillBeMember<InspectorDOMAgent> m_domAgent; | 69 RawPtrWillBeMember<InspectorDOMAgent> m_domAgent; |
66 WillBeHeapHashMap<String, RefPtrWillBeMember<AnimationPlayer>> m_idToAnimati
onPlayer; | 70 WillBeHeapHashMap<String, RefPtrWillBeMember<AnimationPlayer>> m_idToAnimati
onPlayer; |
67 WillBeHeapHashMap<String, AnimationType> m_idToAnimationType; | 71 WillBeHeapHashMap<String, AnimationType> m_idToAnimationType; |
68 }; | 72 }; |
69 | 73 |
70 } | 74 } |
71 | 75 |
72 #endif // InspectorAnimationAgent_h | 76 #endif // InspectorAnimationAgent_h |
OLD | NEW |