summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/inspector/InspectorProfilerAgent.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/inspector/InspectorProfilerAgent.h')
-rw-r--r--Source/WebCore/inspector/InspectorProfilerAgent.h28
1 files changed, 21 insertions, 7 deletions
diff --git a/Source/WebCore/inspector/InspectorProfilerAgent.h b/Source/WebCore/inspector/InspectorProfilerAgent.h
index 839d801..6c5cf4c 100644
--- a/Source/WebCore/inspector/InspectorProfilerAgent.h
+++ b/Source/WebCore/inspector/InspectorProfilerAgent.h
@@ -45,6 +45,7 @@ class InspectorArray;
class InspectorConsoleAgent;
class InspectorFrontend;
class InspectorObject;
+class InspectorState;
class InstrumentingAgents;
class Page;
class ScriptHeapSnapshot;
@@ -55,26 +56,35 @@ typedef String ErrorString;
class InspectorProfilerAgent {
WTF_MAKE_NONCOPYABLE(InspectorProfilerAgent); WTF_MAKE_FAST_ALLOCATED;
public:
- static PassOwnPtr<InspectorProfilerAgent> create(InstrumentingAgents*, InspectorConsoleAgent*, Page*);
+ static PassOwnPtr<InspectorProfilerAgent> create(InstrumentingAgents*, InspectorConsoleAgent*, Page*, InspectorState*);
virtual ~InspectorProfilerAgent();
void addProfile(PassRefPtr<ScriptProfile> prpProfile, unsigned lineNumber, const String& sourceURL);
void addProfileFinishedMessageToConsole(PassRefPtr<ScriptProfile>, unsigned lineNumber, const String& sourceURL);
void addStartProfilingMessageToConsole(const String& title, unsigned lineNumber, const String& sourceURL);
+ void collectGarbage(ErrorString*);
void clearProfiles(ErrorString*) { resetState(); }
+ void resetState();
+
+ void enable(ErrorString*);
+ void disable(ErrorString*);
+ void isEnabled(ErrorString*, bool* result) { *result = enabled(); }
+ void start(ErrorString*) { startUserInitiatedProfiling(); }
+ void stop(ErrorString*) { stopUserInitiatedProfiling(); }
+
void disable();
void enable(bool skipRecompile);
bool enabled() { return m_enabled; }
String getCurrentUserInitiatedProfileName(bool incrementProfileNumber = false);
- void getExactHeapSnapshotNodeRetainedSize(ErrorString*, unsigned long uid, unsigned long nodeId, long* size);
void getProfileHeaders(ErrorString* error, RefPtr<InspectorArray>* headers);
void getProfile(ErrorString* error, const String& type, unsigned uid, RefPtr<InspectorObject>* profileObject);
bool isRecordingUserInitiatedProfile() { return m_recordingUserInitiatedProfile; }
void removeProfile(ErrorString* error, const String& type, unsigned uid);
- void resetState();
- void resetFrontendProfiles();
- void setFrontend(InspectorFrontend* frontend) { m_frontend = frontend->profiler(); }
- void clearFrontend() { m_frontend = 0; }
+
+ void setFrontend(InspectorFrontend*);
+ void clearFrontend();
+ void restore();
+
void startUserInitiatedProfiling();
void stopUserInitiatedProfiling(bool ignoreProfile = false);
void takeHeapSnapshot(ErrorString* error, bool detailed);
@@ -84,13 +94,17 @@ private:
typedef HashMap<unsigned int, RefPtr<ScriptProfile> > ProfilesMap;
typedef HashMap<unsigned int, RefPtr<ScriptHeapSnapshot> > HeapSnapshotsMap;
- InspectorProfilerAgent(InstrumentingAgents*, InspectorConsoleAgent*, Page*);
+ void resetFrontendProfiles();
+ void restoreEnablement();
+
+ InspectorProfilerAgent(InstrumentingAgents*, InspectorConsoleAgent*, Page*, InspectorState*);
PassRefPtr<InspectorObject> createProfileHeader(const ScriptProfile& profile);
PassRefPtr<InspectorObject> createSnapshotHeader(const ScriptHeapSnapshot& snapshot);
InstrumentingAgents* m_instrumentingAgents;
InspectorConsoleAgent* m_consoleAgent;
Page* m_inspectedPage;
+ InspectorState* m_inspectorState;
InspectorFrontend::Profiler* m_frontend;
bool m_enabled;
bool m_recordingUserInitiatedProfile;