| Index: Source/core/inspector/InspectorDebuggerAgent.cpp
|
| diff --git a/Source/core/inspector/InspectorDebuggerAgent.cpp b/Source/core/inspector/InspectorDebuggerAgent.cpp
|
| index 464f54a6feca08ddca75cf972c032b5c62f2cd17..367ee470d56351c9fa08006a28934814eca24a1a 100644
|
| --- a/Source/core/inspector/InspectorDebuggerAgent.cpp
|
| +++ b/Source/core/inspector/InspectorDebuggerAgent.cpp
|
| @@ -60,6 +60,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 {
|
| @@ -834,6 +842,20 @@ void InspectorDebuggerAgent::didPerformExecutionContextTask()
|
| 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())
|
|
|