diff options
Diffstat (limited to 'Source/WebCore/inspector/InspectorProfilerAgent.h')
-rw-r--r-- | Source/WebCore/inspector/InspectorProfilerAgent.h | 28 |
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; |