void InspectorTimelineAgent::startFromConsole(JSC::ExecState* exec, const String &title) { // Only allow recording of a profile if it is anonymous (empty title) or does not match // the title of an already recording profile. if (!title.isEmpty()) { for (const TimelineRecordEntry& record : m_pendingConsoleProfileRecords) { String recordTitle; record.data->getString(ASCIILiteral("title"), recordTitle); if (recordTitle == title) return; } } if (!m_enabled && m_pendingConsoleProfileRecords.isEmpty()) internalStart(); startProfiling(exec, title, m_instrumentingAgents.inspectorEnvironment().executionStopwatch()); m_pendingConsoleProfileRecords.append(createRecordEntry(TimelineRecordFactory::createConsoleProfileData(title), TimelineRecordType::ConsoleProfile, true, frameFromExecState(exec))); }
void InspectorTimelineAgent::breakpointActionProbe(JSC::ExecState* exec, const Inspector::ScriptBreakpointAction& action, unsigned batchId, unsigned sampleId, const Deprecated::ScriptValue&) { UNUSED_PARAM(batchId); ASSERT(exec); appendRecord(TimelineRecordFactory::createProbeSampleData(action, sampleId), TimelineRecordType::ProbeSample, false, frameFromExecState(exec)); }
void InspectorTimelineAgent::startFromConsole(JSC::ExecState* exec, const String &title) { // FIXME: <https://webkit.org/b/153499> Web Inspector: console.profile should use the new Sampling Profiler // Only allow recording of a profile if it is anonymous (empty title) or does not match // the title of an already recording profile. if (!title.isEmpty()) { for (const TimelineRecordEntry& record : m_pendingConsoleProfileRecords) { String recordTitle; record.data->getString(ASCIILiteral("title"), recordTitle); if (recordTitle == title) return; } } if (!m_enabled && m_pendingConsoleProfileRecords.isEmpty()) internalStart(); JSC::LegacyProfiler::profiler()->startProfiling(exec, title, m_environment.executionStopwatch()); m_pendingConsoleProfileRecords.append(createRecordEntry(TimelineRecordFactory::createConsoleProfileData(title), TimelineRecordType::ConsoleProfile, true, frameFromExecState(exec))); }