RefPtr<JSC::Profile> InspectorTimelineAgent::stopFromConsole(JSC::ExecState* exec, const String& title) { // Stop profiles in reverse order. If the title is empty, then stop the last profile. // Otherwise, match the title of the profile to stop. for (ptrdiff_t i = m_pendingConsoleProfileRecords.size() - 1; i >= 0; --i) { const TimelineRecordEntry& record = m_pendingConsoleProfileRecords[i]; String recordTitle; record.data->getString(ASCIILiteral("title"), recordTitle); if (title.isEmpty() || recordTitle == title) { RefPtr<JSC::Profile> profile = stopProfiling(exec, title); if (profile) TimelineRecordFactory::appendProfile(record.data.get(), profile.copyRef()); didCompleteRecordEntry(record); m_pendingConsoleProfileRecords.remove(i); if (!m_enabledFromFrontend && m_pendingConsoleProfileRecords.isEmpty()) internalStop(); return WTF::move(profile); } } return nullptr; }
void Movie::watch(void) { if (m_shouldStopCond->waitAndLock(1, Condition::AutoUnlock)) { internalStop(true); } }
void QOggSimplePlayer::internalStart() { QMutexLocker mutexLocker(&mutex); needPlay=true; if(output==NULL) return; internalStop(); readDone(); output->start(&buffer); }
void InspectorTimelineAgent::stop(ErrorString&) { internalStop(); m_enabledFromFrontend = false; }
void Movie::stop(void) { internalStop(false); }