Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1075)

Unified Diff: Source/core/inspector/InspectorDebuggerAgent.cpp

Issue 433653003: Support Promises event-based instrumentation on backend. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Remove TODO Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/inspector/InspectorDebuggerAgent.cpp
diff --git a/Source/core/inspector/InspectorDebuggerAgent.cpp b/Source/core/inspector/InspectorDebuggerAgent.cpp
index 4eeeba1cadc5a51039ae56c0c637f0a13aaa64d0..b18588e3bd8f79aced0bb39376adcfb142c1539e 100644
--- a/Source/core/inspector/InspectorDebuggerAgent.cpp
+++ b/Source/core/inspector/InspectorDebuggerAgent.cpp
@@ -881,6 +881,27 @@ void InspectorDebuggerAgent::didReceiveV8AsyncTaskEvent(ExecutionContext* contex
ASSERT_NOT_REACHED();
}
+void InspectorDebuggerAgent::didReceiveV8NewPromiseEvent(ExecutionContext* context, v8::Handle<v8::Object> promise)
+{
+ if (!m_promiseTracker.isEnabled())
+ return;
+ m_promiseTracker.didCreatePromise(context, promise);
+}
+
+void InspectorDebuggerAgent::didReceiveV8UpdatePromiseEvent(ExecutionContext* context, v8::Handle<v8::Object> promise, int status, v8::Handle<v8::Value> value)
+{
+ if (!m_promiseTracker.isEnabled())
+ return;
+ m_promiseTracker.didUpdatePromiseStatus(context, promise, status, value);
+}
+
+void InspectorDebuggerAgent::didReceiveV8ChainPromiseEvent(ExecutionContext* context, v8::Handle<v8::Object> promise, v8::Handle<v8::Object> parentPromise)
+{
+ if (!m_promiseTracker.isEnabled())
+ return;
+ m_promiseTracker.didUpdatePromiseParent(context, promise, parentPromise);
+}
+
void InspectorDebuggerAgent::pause(ErrorString*)
{
if (m_javaScriptPauseScheduled || isPaused())
@@ -1384,6 +1405,7 @@ void InspectorDebuggerAgent::clear()
m_scripts.clear();
m_breakpointIdToDebugServerBreakpointIds.clear();
m_asyncCallStackTracker.clear();
+ m_promiseTracker.clear();
m_continueToLocationBreakpointId = String();
clearBreakDetails();
m_javaScriptPauseScheduled = false;
@@ -1426,6 +1448,7 @@ void InspectorDebuggerAgent::reset()
m_scripts.clear();
m_breakpointIdToDebugServerBreakpointIds.clear();
m_asyncCallStackTracker.clear();
+ m_promiseTracker.clear();
if (m_frontend)
m_frontend->globalObjectCleared();
}

Powered by Google App Engine
This is Rietveld 408576698