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

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

Issue 1315283002: [DevTools] Reverse dependencies between InspectorOverlay and agents. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: more compile Created 5 years, 3 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 /* 1 /*
2 * Copyright (C) 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2010 Apple Inc. All rights reserved.
3 * Copyright (C) 2010 Google Inc. All rights reserved. 3 * Copyright (C) 2010 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 30 matching lines...) Expand all
41 41
42 namespace v8 { 42 namespace v8 {
43 class CpuProfile; 43 class CpuProfile;
44 } 44 }
45 45
46 namespace blink { 46 namespace blink {
47 47
48 class ExecutionContext; 48 class ExecutionContext;
49 class InjectedScriptManager; 49 class InjectedScriptManager;
50 class InspectorFrontend; 50 class InspectorFrontend;
51 class InspectorOverlay;
52 51
53 typedef String ErrorString; 52 typedef String ErrorString;
54 53
55 class CORE_EXPORT InspectorProfilerAgent final : public InspectorBaseAgent<Inspe ctorProfilerAgent, InspectorFrontend::Profiler>, public InspectorBackendDispatch er::ProfilerCommandHandler { 54 class CORE_EXPORT InspectorProfilerAgent final : public InspectorBaseAgent<Inspe ctorProfilerAgent, InspectorFrontend::Profiler>, public InspectorBackendDispatch er::ProfilerCommandHandler {
56 WTF_MAKE_NONCOPYABLE(InspectorProfilerAgent); 55 WTF_MAKE_NONCOPYABLE(InspectorProfilerAgent);
57 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED(InspectorProfilerAgent); 56 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED(InspectorProfilerAgent);
58 public: 57 public:
59 static PassOwnPtrWillBeRawPtr<InspectorProfilerAgent> create(v8::Isolate*, I njectedScriptManager*, InspectorOverlay*); 58 class Client {
59 public:
60 virtual ~Client() { }
61 virtual void profilingStarted() { }
62 virtual void profilingStopped() { }
63 };
64
65 static PassOwnPtrWillBeRawPtr<InspectorProfilerAgent> create(v8::Isolate*, I njectedScriptManager*, Client*);
60 ~InspectorProfilerAgent() override; 66 ~InspectorProfilerAgent() override;
61 DECLARE_VIRTUAL_TRACE(); 67 DECLARE_VIRTUAL_TRACE();
62 68
63 void consoleProfile(ExecutionContext*, const String& title); 69 void consoleProfile(ExecutionContext*, const String& title);
64 void consoleProfileEnd(const String& title); 70 void consoleProfileEnd(const String& title);
65 71
66 void enable(ErrorString*) override; 72 void enable(ErrorString*) override;
67 void setSamplingInterval(ErrorString*, int) override; 73 void setSamplingInterval(ErrorString*, int) override;
68 void start(ErrorString*) override; 74 void start(ErrorString*) override;
69 void stop(ErrorString*, RefPtr<TypeBuilder::Profiler::CPUProfile>&) override ; 75 void stop(ErrorString*, RefPtr<TypeBuilder::Profiler::CPUProfile>&) override ;
70 76
71 void disable(ErrorString*) override; 77 void disable(ErrorString*) override;
72 void restore() override; 78 void restore() override;
73 79
74 void willProcessTask(); 80 void willProcessTask();
75 void didProcessTask(); 81 void didProcessTask();
76 void willEnterNestedRunLoop(); 82 void willEnterNestedRunLoop();
77 void didLeaveNestedRunLoop(); 83 void didLeaveNestedRunLoop();
78 84
79 private: 85 private:
80 InspectorProfilerAgent(v8::Isolate*, InjectedScriptManager*, InspectorOverla y*); 86 InspectorProfilerAgent(v8::Isolate*, InjectedScriptManager*, Client*);
81 bool enabled(); 87 bool enabled();
82 void doEnable(); 88 void doEnable();
83 void stop(ErrorString*, RefPtr<TypeBuilder::Profiler::CPUProfile>*); 89 void stop(ErrorString*, RefPtr<TypeBuilder::Profiler::CPUProfile>*);
84 String nextProfileId(); 90 String nextProfileId();
85 91
86 void startProfiling(const String& title); 92 void startProfiling(const String& title);
87 PassRefPtr<TypeBuilder::Profiler::CPUProfile> stopProfiling(const String& ti tle, bool serialize); 93 PassRefPtr<TypeBuilder::Profiler::CPUProfile> stopProfiling(const String& ti tle, bool serialize);
88 94
89 bool isRecording() const; 95 bool isRecording() const;
90 void idleStarted(); 96 void idleStarted();
91 void idleFinished(); 97 void idleFinished();
92 98
93 v8::Isolate* m_isolate; 99 v8::Isolate* m_isolate;
94 RawPtrWillBeMember<InjectedScriptManager> m_injectedScriptManager; 100 RawPtrWillBeMember<InjectedScriptManager> m_injectedScriptManager;
95 bool m_recordingCPUProfile; 101 bool m_recordingCPUProfile;
96 class ProfileDescriptor; 102 class ProfileDescriptor;
97 Vector<ProfileDescriptor> m_startedProfiles; 103 Vector<ProfileDescriptor> m_startedProfiles;
98 String m_frontendInitiatedProfileId; 104 String m_frontendInitiatedProfileId;
99 RawPtrWillBeMember<InspectorOverlay> m_overlay; 105 Client* m_client;
100 }; 106 };
101 107
102 } // namespace blink 108 } // namespace blink
103 109
104 110
105 #endif // !defined(InspectorProfilerAgent_h) 111 #endif // !defined(InspectorProfilerAgent_h)
OLDNEW
« no previous file with comments | « Source/core/inspector/InspectorPageAgent.cpp ('k') | Source/core/inspector/InspectorProfilerAgent.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698