void AsyncCallTracker::didEnqueueEvent(EventTarget* eventTarget, Event* event) { ASSERT(eventTarget->executionContext()); ASSERT(m_debuggerAgent->trackingAsyncCalls()); int operationId = m_debuggerAgent->traceAsyncOperationStarting(event->type()); ExecutionContextData* data = createContextDataIfNeeded(eventTarget->executionContext()); data->m_eventCallChains.set(event, operationId); }
void AsyncCallTracker::didRequestAnimationFrame(ExecutionContext* context, int callbackId) { ASSERT(context); ASSERT(m_debuggerAgent->trackingAsyncCalls()); int operationId = m_debuggerAgent->traceAsyncOperationStarting(requestAnimationFrameName); ASSERT(callbackId > 0); ExecutionContextData* data = createContextDataIfNeeded(context); data->m_animationFrameCallChains.set(callbackId, operationId); }
void AsyncCallTracker::didPostExecutionContextTask(ExecutionContext* context, ExecutionContextTask* task) { ASSERT(context); ASSERT(m_debuggerAgent->trackingAsyncCalls()); if (task->taskNameForInstrumentation().isEmpty()) return; int operationId = m_debuggerAgent->traceAsyncOperationStarting(task->taskNameForInstrumentation()); ExecutionContextData* data = createContextDataIfNeeded(context); data->m_executionContextTaskCallChains.set(task, operationId); }
void AsyncCallTracker::willLoadXHR(XMLHttpRequest* xhr, ThreadableLoaderClient*, const AtomicString&, const KURL&, bool async, PassRefPtr<FormData>, const HTTPHeaderMap&, bool) { ASSERT(xhr->executionContext()); ASSERT(m_debuggerAgent->trackingAsyncCalls()); if (!async) return; int operationId = m_debuggerAgent->traceAsyncOperationStarting(xhrSendName); ExecutionContextData* data = createContextDataIfNeeded(xhr->executionContext()); data->m_xhrCallChains.set(xhr, operationId); }
void AsyncCallTracker::didEnqueueMutationRecord(ExecutionContext* context, MutationObserver* observer) { ASSERT(context); ASSERT(m_debuggerAgent->trackingAsyncCalls()); ExecutionContextData* data = createContextDataIfNeeded(context); if (data->m_mutationObserverCallChains.contains(observer)) return; int operationId = m_debuggerAgent->traceAsyncOperationStarting(enqueueMutationRecordName); data->m_mutationObserverCallChains.set(observer, operationId); }
int AsyncCallTracker::traceAsyncOperationStarting(ExecutionContext* context, const String& operationName, int prevOperationId) { ASSERT(context); ASSERT(m_debuggerAgent->trackingAsyncCalls()); if (prevOperationId) traceAsyncOperationCompleted(context, prevOperationId); int operationId = m_debuggerAgent->traceAsyncOperationStarting(operationName); ExecutionContextData* data = createContextDataIfNeeded(context); data->m_asyncOperations.set(operationId, operationId); return operationId; }
void AsyncCallTracker::didEnqueueEvent(EventTarget* eventTarget, Event* event) { ASSERT(eventTarget->executionContext()); ASSERT(m_debuggerAgent->trackingAsyncCalls()); Optional<ScriptForbiddenScope::AllowUserAgentScript> allowScripting; if (isMainThread()) allowScripting.emplace(); int operationId = m_debuggerAgent->traceAsyncOperationStarting(event->type()); ExecutionContextData* data = createContextDataIfNeeded(eventTarget->executionContext()); data->m_eventCallChains.set(event, operationId); }
void AsyncCallTracker::didInstallTimer(ExecutionContext* context, int timerId, int timeout, bool singleShot) { ASSERT(context); ASSERT(m_debuggerAgent->trackingAsyncCalls()); int operationId = m_debuggerAgent->traceAsyncOperationStarting(singleShot ? setTimeoutName : setIntervalName); ASSERT(timerId > 0); ExecutionContextData* data = createContextDataIfNeeded(context); data->m_timerCallChains.set(timerId, operationId); if (!singleShot) data->m_intervalTimerIds.add(timerId); }
void AsyncCallTracker::didEnqueueMutationRecord(ExecutionContext* context, MutationObserver* observer) { ASSERT(context); ASSERT(m_debuggerAgent->trackingAsyncCalls()); ExecutionContextData* data = createContextDataIfNeeded(context); if (data->m_mutationObserverCallChains.contains(observer)) return; Optional<ScriptForbiddenScope::AllowUserAgentScript> allowScripting; if (isMainThread()) allowScripting.emplace(); int operationId = m_debuggerAgent->traceAsyncOperationStarting(enqueueMutationRecordName); data->m_mutationObserverCallChains.set(observer, operationId); }