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

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

Issue 98953004: DevTools: Introduce Debugger.StackTrace structure in protocol.json (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebased Created 7 years 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
« no previous file with comments | « Source/core/inspector/InspectorDebuggerAgent.h ('k') | Source/devtools/front_end/DebuggerModel.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/inspector/InspectorDebuggerAgent.cpp
diff --git a/Source/core/inspector/InspectorDebuggerAgent.cpp b/Source/core/inspector/InspectorDebuggerAgent.cpp
index 07b9e851bc62e4b192bc884b774652bb6a491061..7af966da3a4e04b79ae4a19961f4e09494a29aa9 100644
--- a/Source/core/inspector/InspectorDebuggerAgent.cpp
+++ b/Source/core/inspector/InspectorDebuggerAgent.cpp
@@ -52,6 +52,7 @@ using WebCore::TypeBuilder::Debugger::CallFrame;
using WebCore::TypeBuilder::Debugger::FunctionDetails;
using WebCore::TypeBuilder::Debugger::Location;
using WebCore::TypeBuilder::Debugger::ScriptId;
+using WebCore::TypeBuilder::Debugger::StackTrace;
using WebCore::TypeBuilder::Runtime::RemoteObject;
namespace WebCore {
@@ -443,12 +444,13 @@ void InspectorDebuggerAgent::getStepInPositions(ErrorString* errorString, const
injectedScript.getStepInPositions(errorString, m_currentCallStack, callFrameId, positions);
}
-void InspectorDebuggerAgent::getBacktrace(ErrorString* errorString, RefPtr<Array<CallFrame> >& callFrames)
+void InspectorDebuggerAgent::getBacktrace(ErrorString* errorString, RefPtr<Array<CallFrame> >& callFrames, RefPtr<StackTrace>& asyncStackTrace)
{
if (!assertPaused(errorString))
return;
scriptDebugServer().updateCallStack(&m_currentCallStack);
callFrames = currentCallFrames();
+ asyncStackTrace = currentAsyncStackTrace();
}
String InspectorDebuggerAgent::scriptURL(JavaScriptCallFrame* frame)
@@ -591,18 +593,20 @@ void InspectorDebuggerAgent::searchInContent(ErrorString* error, const String& s
*error = "No script for id: " + scriptId;
}
-void InspectorDebuggerAgent::setScriptSource(ErrorString* error, RefPtr<TypeBuilder::Debugger::SetScriptSourceError>& errorData, const String& scriptId, const String& newContent, const bool* const preview, RefPtr<Array<CallFrame> >& newCallFrames, RefPtr<JSONObject>& result)
+void InspectorDebuggerAgent::setScriptSource(ErrorString* error, RefPtr<TypeBuilder::Debugger::SetScriptSourceError>& errorData, const String& scriptId, const String& newContent, const bool* const preview, RefPtr<Array<CallFrame> >& newCallFrames, RefPtr<JSONObject>& result, RefPtr<StackTrace>& asyncStackTrace)
{
bool previewOnly = preview && *preview;
ScriptObject resultObject;
if (!scriptDebugServer().setScriptSource(scriptId, newContent, previewOnly, error, errorData, &m_currentCallStack, &resultObject))
return;
newCallFrames = currentCallFrames();
+ asyncStackTrace = currentAsyncStackTrace();
RefPtr<JSONObject> object = scriptToInspectorObject(resultObject);
if (object)
result = object;
}
-void InspectorDebuggerAgent::restartFrame(ErrorString* errorString, const String& callFrameId, RefPtr<Array<CallFrame> >& newCallFrames, RefPtr<JSONObject>& result)
+
+void InspectorDebuggerAgent::restartFrame(ErrorString* errorString, const String& callFrameId, RefPtr<Array<CallFrame> >& newCallFrames, RefPtr<JSONObject>& result, RefPtr<StackTrace>& asyncStackTrace)
{
if (!isPaused() || m_currentCallStack.isNull()) {
*errorString = "Attempt to access callframe when debugger is not on pause";
@@ -617,6 +621,7 @@ void InspectorDebuggerAgent::restartFrame(ErrorString* errorString, const String
injectedScript.restartFrame(errorString, m_currentCallStack, callFrameId, &result);
scriptDebugServer().updateCallStack(&m_currentCallStack);
newCallFrames = currentCallFrames();
+ asyncStackTrace = currentAsyncStackTrace();
}
void InspectorDebuggerAgent::getScriptSource(ErrorString* error, const String& scriptId, String* scriptSource)
@@ -905,6 +910,12 @@ PassRefPtr<Array<CallFrame> > InspectorDebuggerAgent::currentCallFrames()
return injectedScript.wrapCallFrames(m_currentCallStack);
}
+PassRefPtr<StackTrace> InspectorDebuggerAgent::currentAsyncStackTrace()
+{
+ // FIXME: Implement async stack traces.
+ return 0;
+}
+
String InspectorDebuggerAgent::sourceMapURLForScript(const Script& script)
{
bool deprecated;
@@ -1006,7 +1017,7 @@ void InspectorDebuggerAgent::didPause(ScriptState* scriptState, const ScriptValu
}
}
- m_frontend->paused(currentCallFrames(), m_breakReason, m_breakAuxData, hitBreakpointIds);
+ m_frontend->paused(currentCallFrames(), m_breakReason, m_breakAuxData, hitBreakpointIds, currentAsyncStackTrace());
m_javaScriptPauseScheduled = false;
if (!m_continueToLocationBreakpointId.isEmpty()) {
« no previous file with comments | « Source/core/inspector/InspectorDebuggerAgent.h ('k') | Source/devtools/front_end/DebuggerModel.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698