| Index: Source/core/inspector/InspectorDebuggerAgent.cpp
|
| diff --git a/Source/core/inspector/InspectorDebuggerAgent.cpp b/Source/core/inspector/InspectorDebuggerAgent.cpp
|
| index 39b9b1ea3a67c6397c190d37463d094d77f7df33..caa4155d3dd0757297bb5ad1e0a21a0f33c3af05 100644
|
| --- a/Source/core/inspector/InspectorDebuggerAgent.cpp
|
| +++ b/Source/core/inspector/InspectorDebuggerAgent.cpp
|
| @@ -59,6 +59,14 @@ using WebCore::TypeBuilder::Debugger::ScriptId;
|
| using WebCore::TypeBuilder::Debugger::StackTrace;
|
| using WebCore::TypeBuilder::Runtime::RemoteObject;
|
|
|
| +namespace {
|
| +
|
| +static const char v8AsyncTaskEventEnqueue[] = "enqueue";
|
| +static const char v8AsyncTaskEventWillHandle[] = "willHandle";
|
| +static const char v8AsyncTaskEventDidHandle[] = "didHandle";
|
| +
|
| +}
|
| +
|
| namespace WebCore {
|
|
|
| namespace DebuggerAgentState {
|
| @@ -809,6 +817,20 @@ void InspectorDebuggerAgent::didDeliverMutationRecords()
|
| m_asyncCallStackTracker.didFireAsyncCall();
|
| }
|
|
|
| +void InspectorDebuggerAgent::didReceiveV8AsyncTaskEvent(ExecutionContext* context, const String& eventType, const String& eventName, int id)
|
| +{
|
| + if (!m_asyncCallStackTracker.isEnabled())
|
| + return;
|
| + if (eventType == v8AsyncTaskEventEnqueue)
|
| + m_asyncCallStackTracker.didEnqueueV8AsyncTask(context, eventName, id, scriptDebugServer().currentCallFramesForAsyncStack());
|
| + else if (eventType == v8AsyncTaskEventWillHandle)
|
| + m_asyncCallStackTracker.willHandleV8AsyncTask(context, eventName, id);
|
| + else if (eventType == v8AsyncTaskEventDidHandle)
|
| + m_asyncCallStackTracker.didFireAsyncCall();
|
| + else
|
| + ASSERT_NOT_REACHED();
|
| +}
|
| +
|
| void InspectorDebuggerAgent::pause(ErrorString*)
|
| {
|
| if (m_javaScriptPauseScheduled || isPaused())
|
|
|