void InspectorProfilerAgent::stop(ErrorString*) { if (!m_recordingCPUProfile) return; m_recordingCPUProfile = false; String title = getCurrentUserInitiatedProfileName(); RefPtr<ScriptProfile> profile = stopProfiling(title); if (profile) addProfile(profile, 0, 0, String()); toggleRecordButton(false); }
void InspectorProfilerAgent::start(ErrorString*) { if (m_recordingCPUProfile) return; if (!enabled()) { enable(true); } m_recordingCPUProfile = true; String title = getCurrentUserInitiatedProfileName(true); startProfiling(title); addStartProfilingMessageToConsole(title, 0, String()); toggleRecordButton(true); m_state->setBoolean(ProfilerAgentState::userInitiatedProfiling, true); }
void InspectorProfilerAgent::start(ErrorString*) { if (m_recordingCPUProfile) return; if (!enabled()) { enable(true); PageScriptDebugServer::shared().recompileAllJSFunctions(0); } m_recordingCPUProfile = true; String title = getCurrentUserInitiatedProfileName(true); startProfiling(title); addStartProfilingMessageToConsole(title, 0, 0, String()); toggleRecordButton(true); }
void InspectorProfilerAgent::start(ErrorString*) { if (m_recordingCPUProfile) return; if (!enabled()) { ErrorString error; enable(&error); } m_recordingCPUProfile = true; String title = getCurrentUserInitiatedProfileName(true); ScriptProfiler::start(title); toggleRecordButton(true); m_state->setBoolean(ProfilerAgentState::userInitiatedProfiling, true); }
void InspectorProfilerAgent::stopUserInitiatedProfiling() { m_recordingUserInitiatedProfile = false; String title = getCurrentUserInitiatedProfileName(); #if USE(JSC) JSC::ExecState* scriptState = toJSDOMWindow(m_inspectorController->inspectedPage()->mainFrame(), debuggerWorld())->globalExec(); #else // Use null script state to avoid filtering by context security token. // All functions from all iframes should be visible from Inspector UI. ScriptState* scriptState = 0; #endif RefPtr<ScriptProfile> profile = ScriptProfiler::stop(scriptState, title); if (profile) addProfile(profile, 0, String()); toggleRecordButton(false); }
PassRefPtr<TypeBuilder::Profiler::ProfileHeader> InspectorProfilerAgent::stop(ErrorString* errorString) { if (!m_recordingCPUProfile) return 0; m_recordingCPUProfile = false; String title = getCurrentUserInitiatedProfileName(); RefPtr<ScriptProfile> profile = stopProfiling(title); RefPtr<TypeBuilder::Profiler::ProfileHeader> profileHeader; if (profile) { addProfile(profile, 0, String()); profileHeader = createProfileHeader(*profile); } else if (errorString) *errorString = "Profile wasn't found"; toggleRecordButton(false); m_state->setBoolean(ProfilerAgentState::userInitiatedProfiling, false); return profileHeader; }
void InspectorProfilerAgent::startUserInitiatedProfiling() { if (!enabled()) { enable(false); ScriptDebugServer::shared().recompileAllJSFunctions(); } m_recordingUserInitiatedProfile = true; String title = getCurrentUserInitiatedProfileName(true); #if USE(JSC) JSC::ExecState* scriptState = toJSDOMWindow(m_inspectorController->inspectedPage()->mainFrame(), debuggerWorld())->globalExec(); #else ScriptState* scriptState = 0; #endif ScriptProfiler::start(scriptState, title); addStartProfilingMessageToConsole(title, 0, String()); toggleRecordButton(true); }
PassRefPtr<TypeBuilder::Profiler::ProfileHeader> InspectorProfilerAgent::stop(ErrorString* errorString) { if (!m_recordingCPUProfile) { if (errorString) *errorString = "No recording profiles found"; return 0; } m_recordingCPUProfile = false; if (m_overlay) m_overlay->finishedRecordingProfile(); String title = getCurrentUserInitiatedProfileName(); RefPtr<ScriptProfile> profile = ScriptProfiler::stop(title); RefPtr<TypeBuilder::Profiler::ProfileHeader> profileHeader; if (profile) { addProfile(profile, 0, String()); profileHeader = createProfileHeader(*profile); } else if (errorString) *errorString = "Profile wasn't found"; m_state->setBoolean(ProfilerAgentState::userInitiatedProfiling, false); return profileHeader; }
void InspectorProfilerAgent::stopUserInitiatedProfiling(bool ignoreProfile) { if (!m_recordingUserInitiatedProfile) return; m_recordingUserInitiatedProfile = false; String title = getCurrentUserInitiatedProfileName(); #if USE(JSC) JSC::ExecState* scriptState = toJSDOMWindow(m_inspectedPage->mainFrame(), debuggerWorld())->globalExec(); #else // Use null script state to avoid filtering by context security token. // All functions from all iframes should be visible from Inspector UI. ScriptState* scriptState = 0; #endif RefPtr<ScriptProfile> profile = ScriptProfiler::stop(scriptState, title); if (profile) { if (!ignoreProfile) addProfile(profile, 0, String()); else addProfileFinishedMessageToConsole(profile, 0, String()); } toggleRecordButton(false); m_inspectorState->setBoolean(ProfilerAgentState::userInitiatedProfiling, false); }