Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Side by Side Diff: Source/core/inspector/InspectorAnimationAgent.h

Issue 1081753002: Devtools Animations: Support multiple frames in the animation timeline (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: New frame instrumentation on agent Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 documentAttachedToFrame(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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698