Index: Source/core/inspector/InspectorDebuggerAgent.cpp |
diff --git a/Source/core/inspector/InspectorDebuggerAgent.cpp b/Source/core/inspector/InspectorDebuggerAgent.cpp |
index b9736bdcf03c98db3a7332a67eaab1b7f0e8a388..270d9102e06c1c6413808eb8c3828835e7b35ce0 100644 |
--- a/Source/core/inspector/InspectorDebuggerAgent.cpp |
+++ b/Source/core/inspector/InspectorDebuggerAgent.cpp |
@@ -29,8 +29,9 @@ |
#include "config.h" |
#include "core/inspector/InspectorDebuggerAgent.h" |
-#include "core/inspector/JavaScriptCallFrame.h" |
+#include "InspectorFrontend.h" |
+#include "bindings/dart/DartScriptDebugServer.h" |
#include "bindings/v8/ScriptDebugServer.h" |
#include "bindings/v8/ScriptObject.h" |
#include "bindings/v8/ScriptRegexp.h" |
@@ -43,6 +44,7 @@ |
#include "core/inspector/InspectorState.h" |
#include "core/inspector/InstrumentingAgents.h" |
#include "core/inspector/ScriptArguments.h" |
+#include "core/inspector/ScriptCallFrame.h" |
#include "core/inspector/ScriptCallStack.h" |
#include "platform/JSONValues.h" |
#include "wtf/text/WTFString.h" |
@@ -438,11 +440,11 @@ void InspectorDebuggerAgent::continueToLocation(ErrorString* errorString, const |
void InspectorDebuggerAgent::getStepInPositions(ErrorString* errorString, const String& callFrameId, RefPtr<Array<TypeBuilder::Debugger::Location> >& positions) |
{ |
- if (!isPaused() || m_currentCallStack.isEmpty()) { |
+ if (!isPaused() || m_currentCallStack.isNull()) { |
*errorString = "Attempt to access callframe when debugger is not on pause"; |
return; |
} |
- InjectedScript injectedScript = m_injectedScriptManager->injectedScriptForObjectId(callFrameId); |
+ InjectedScript& injectedScript = m_injectedScriptManager->injectedScriptForObjectId(callFrameId); |
if (injectedScript.isEmpty()) { |
*errorString = "Inspected frame has gone"; |
return; |
@@ -451,7 +453,7 @@ void InspectorDebuggerAgent::getStepInPositions(ErrorString* errorString, const |
injectedScript.getStepInPositions(errorString, m_currentCallStack, callFrameId, positions); |
} |
-void InspectorDebuggerAgent::getBacktrace(ErrorString* errorString, RefPtr<Array<CallFrame> >& callFrames, RefPtr<StackTrace>& asyncStackTrace) |
+void InspectorDebuggerAgent::getBacktrace(ErrorString* errorString, RefPtr<Array<CallFrame> >& callFrames, WTF::RefPtr<WebCore::TypeBuilder::Debugger::StackTrace>& asyncStackTrace) |
{ |
if (!assertPaused(errorString)) |
return; |
@@ -460,23 +462,12 @@ void InspectorDebuggerAgent::getBacktrace(ErrorString* errorString, RefPtr<Array |
asyncStackTrace = currentAsyncStackTrace(); |
} |
-String InspectorDebuggerAgent::scriptURL(JavaScriptCallFrame* frame) |
-{ |
- String scriptIdString = String::number(frame->sourceID()); |
- ScriptsMap::iterator it = m_scripts.find(scriptIdString); |
- if (it == m_scripts.end()) |
- return String(); |
- return it->value.url; |
-} |
- |
-ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipExceptionPause(RefPtr<JavaScriptCallFrame>& topFrame) |
+ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipExceptionPause(const ScriptCallFrame& topFrame) |
{ |
if (m_skipAllPauses) |
return ScriptDebugListener::Continue; |
- if (!topFrame) |
- return ScriptDebugListener::NoSkip; |
- String topFrameScriptUrl = scriptURL(topFrame.get()); |
+ String topFrameScriptUrl = topFrame.sourceURL(); |
if (m_cachedSkipStackRegExp && !topFrameScriptUrl.isEmpty() && m_cachedSkipStackRegExp->match(topFrameScriptUrl) != -1) |
return ScriptDebugListener::Continue; |
@@ -485,8 +476,8 @@ ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipExceptio |
return ScriptDebugListener::NoSkip; |
// Prepare top frame parameters. |
- int topFrameLineNumber = topFrame->line(); |
- int topFrameColumnNumber = topFrame->column(); |
+ int topFrameLineNumber = topFrame.lineNumber(); |
+ int topFrameColumnNumber = topFrame.columnNumber(); |
RefPtr<JSONObject> breakpointsCookie = m_state->getObject(DebuggerAgentState::javaScriptBreakpoints); |
for (JSONObject::iterator it = breakpointsCookie->begin(); it != breakpointsCookie->end(); ++it) { |
@@ -520,24 +511,20 @@ ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipExceptio |
return ScriptDebugListener::NoSkip; |
} |
-ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipBreakpointPause(RefPtr<JavaScriptCallFrame>& topFrame) |
+ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipBreakpointPause(const ScriptCallFrame& topFrame) |
{ |
if (m_skipAllPauses) |
return ScriptDebugListener::Continue; |
- if (!topFrame) |
- return ScriptDebugListener::NoSkip; |
return ScriptDebugListener::NoSkip; |
} |
-ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipStepPause(RefPtr<JavaScriptCallFrame>& topFrame) |
+ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipStepPause(const ScriptCallFrame& topFrame) |
{ |
if (m_skipAllPauses) |
return ScriptDebugListener::Continue; |
- if (!topFrame) |
- return ScriptDebugListener::NoSkip; |
if (m_cachedSkipStackRegExp) { |
- String scriptUrl = scriptURL(topFrame.get()); |
+ String scriptUrl = topFrame.sourceURL(); |
if (!scriptUrl.isEmpty() && m_cachedSkipStackRegExp->match(scriptUrl) != -1) { |
if (m_skipStepInCount > 0) { |
--m_skipStepInCount; |
@@ -591,22 +578,22 @@ 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, RefPtr<StackTrace>& asyncStackTrace) |
+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, WTF::RefPtr<WebCore::TypeBuilder::Debugger::StackTrace>& asyncStackTrace) |
{ |
bool previewOnly = preview && *preview; |
- if (!scriptDebugServer().setScriptSource(scriptId, newContent, previewOnly, error, errorData, &m_currentCallStack, &result)) |
+ if (!scriptDebugServer().setScriptSource(scriptId, newContent, previewOnly, error, errorData, &m_currentCallStack, result)) |
return; |
newCallFrames = currentCallFrames(); |
asyncStackTrace = currentAsyncStackTrace(); |
} |
-void InspectorDebuggerAgent::restartFrame(ErrorString* errorString, const String& callFrameId, RefPtr<Array<CallFrame> >& newCallFrames, RefPtr<JSONObject>& result, RefPtr<StackTrace>& asyncStackTrace) |
+void InspectorDebuggerAgent::restartFrame(ErrorString* errorString, const String& callFrameId, RefPtr<Array<CallFrame> >& newCallFrames, RefPtr<JSONObject>& result, WTF::RefPtr<WebCore::TypeBuilder::Debugger::StackTrace>& asyncStackTrace) |
{ |
- if (!isPaused() || m_currentCallStack.isEmpty()) { |
+ if (!isPaused() || m_currentCallStack.isNull()) { |
*errorString = "Attempt to access callframe when debugger is not on pause"; |
return; |
} |
- InjectedScript injectedScript = m_injectedScriptManager->injectedScriptForObjectId(callFrameId); |
+ InjectedScript& injectedScript = m_injectedScriptManager->injectedScriptForObjectId(callFrameId); |
if (injectedScript.isEmpty()) { |
*errorString = "Inspected frame has gone"; |
return; |
@@ -629,7 +616,7 @@ void InspectorDebuggerAgent::getScriptSource(ErrorString* error, const String& s |
void InspectorDebuggerAgent::getFunctionDetails(ErrorString* errorString, const String& functionId, RefPtr<FunctionDetails>& details) |
{ |
- InjectedScript injectedScript = m_injectedScriptManager->injectedScriptForObjectId(functionId); |
+ InjectedScript& injectedScript = m_injectedScriptManager->injectedScriptForObjectId(functionId); |
if (injectedScript.isEmpty()) { |
*errorString = "Function object id is obsolete"; |
return; |
@@ -824,18 +811,18 @@ void InspectorDebuggerAgent::resume(ErrorString* errorString) |
scriptDebugServer().continueProgram(); |
} |
-ScriptValue InspectorDebuggerAgent::resolveCallFrame(ErrorString* errorString, const String* callFrameId) |
+ActivationFrame InspectorDebuggerAgent::resolveCallFrame(ErrorString* errorString, const String* callFrameId) |
{ |
if (!callFrameId) |
- return ScriptValue(); |
- if (!isPaused() || m_currentCallStack.isEmpty()) { |
+ return ActivationFrame(); |
+ if (!isPaused() || m_currentCallStack.isNull()) { |
*errorString = "Attempt to access callframe when debugger is not on pause"; |
- return ScriptValue(); |
+ return ActivationFrame(); |
} |
- InjectedScript injectedScript = m_injectedScriptManager->injectedScriptForObjectId(*callFrameId); |
+ InjectedScript& injectedScript = m_injectedScriptManager->injectedScriptForObjectId(*callFrameId); |
if (injectedScript.isEmpty()) { |
*errorString = "Inspected frame has gone"; |
- return ScriptValue(); |
+ return ActivationFrame(); |
} |
return injectedScript.findCallFrameById(errorString, m_currentCallStack, *callFrameId); |
} |
@@ -844,7 +831,7 @@ void InspectorDebuggerAgent::stepOver(ErrorString* errorString, const String* ca |
{ |
if (!assertPaused(errorString)) |
return; |
- ScriptValue frame = resolveCallFrame(errorString, callFrameId); |
+ ActivationFrame frame = resolveCallFrame(errorString, callFrameId); |
if (!errorString->isEmpty()) |
return; |
m_injectedScriptManager->releaseObjectGroup(InspectorDebuggerAgent::backtraceObjectGroup); |
@@ -865,7 +852,7 @@ void InspectorDebuggerAgent::stepOut(ErrorString* errorString, const String* cal |
{ |
if (!assertPaused(errorString)) |
return; |
- ScriptValue frame = resolveCallFrame(errorString, callFrameId); |
+ ActivationFrame frame = resolveCallFrame(errorString, callFrameId); |
if (!errorString->isEmpty()) |
return; |
m_injectedScriptManager->releaseObjectGroup(InspectorDebuggerAgent::backtraceObjectGroup); |
@@ -897,13 +884,25 @@ void InspectorDebuggerAgent::setPauseOnExceptionsImpl(ErrorString* errorString, |
m_state->setLong(DebuggerAgentState::pauseOnExceptionsState, pauseState); |
} |
+void InspectorDebuggerAgent::collectAsyncCallStacks(Vector<StackTrace>& asyncCallStacks) |
+{ |
+ const AsyncCallStackTracker::AsyncCallChain* asyncChain = m_asyncCallStackTracker.isEnabled() ? m_asyncCallStackTracker.currentAsyncCallChain() : 0; |
+ if (asyncChain) { |
+ const AsyncCallStackTracker::AsyncCallStackVector& callStacks = asyncChain->callStacks(); |
+ asyncCallStacks.resize(callStacks.size()); |
+ AsyncCallStackTracker::AsyncCallStackVector::const_iterator it = callStacks.begin(); |
+ for (size_t i = 0; it != callStacks.end(); ++it, ++i) |
+ asyncCallStacks[i] = (*it)->callFrames(); |
+ } |
+} |
+ |
void InspectorDebuggerAgent::evaluateOnCallFrame(ErrorString* errorString, const String& callFrameId, const String& expression, const String* const objectGroup, const bool* const includeCommandLineAPI, const bool* const doNotPauseOnExceptionsAndMuteConsole, const bool* const returnByValue, const bool* generatePreview, RefPtr<RemoteObject>& result, TypeBuilder::OptOutput<bool>* wasThrown) |
{ |
- if (!isPaused() || m_currentCallStack.isEmpty()) { |
+ if (!isPaused() || m_currentCallStack.isNull()) { |
*errorString = "Attempt to access callframe when debugger is not on pause"; |
return; |
} |
- InjectedScript injectedScript = m_injectedScriptManager->injectedScriptForObjectId(callFrameId); |
+ InjectedScript& injectedScript = m_injectedScriptManager->injectedScriptForObjectId(callFrameId); |
if (injectedScript.isEmpty()) { |
*errorString = "Inspected frame has gone"; |
return; |
@@ -916,16 +915,8 @@ void InspectorDebuggerAgent::evaluateOnCallFrame(ErrorString* errorString, const |
muteConsole(); |
} |
- Vector<ScriptValue> asyncCallStacks; |
- const AsyncCallStackTracker::AsyncCallChain* asyncChain = m_asyncCallStackTracker.isEnabled() ? m_asyncCallStackTracker.currentAsyncCallChain() : 0; |
- if (asyncChain) { |
- const AsyncCallStackTracker::AsyncCallStackVector& callStacks = asyncChain->callStacks(); |
- asyncCallStacks.resize(callStacks.size()); |
- AsyncCallStackTracker::AsyncCallStackVector::const_iterator it = callStacks.begin(); |
- for (size_t i = 0; it != callStacks.end(); ++it, ++i) |
- asyncCallStacks[i] = (*it)->callFrames(); |
- } |
- |
+ Vector<StackTrace> asyncCallStacks; |
+ collectAsyncCallStacks(asyncCallStacks); |
injectedScript.evaluateOnCallFrame(errorString, m_currentCallStack, asyncCallStacks, callFrameId, expression, objectGroup ? *objectGroup : "", includeCommandLineAPI ? *includeCommandLineAPI : false, returnByValue ? *returnByValue : false, generatePreview ? *generatePreview : false, &result, wasThrown); |
if (doNotPauseOnExceptionsAndMuteConsole ? *doNotPauseOnExceptionsAndMuteConsole : false) { |
@@ -935,9 +926,35 @@ void InspectorDebuggerAgent::evaluateOnCallFrame(ErrorString* errorString, const |
} |
} |
+void InspectorDebuggerAgent::getCompletionsOnCallFrame(ErrorString* errorString, const String& callFrameId, const String& expression, RefPtr<TypeBuilder::Array<String> >& result) |
+{ |
+ if (!isPaused() || m_currentCallStack.isNull()) { |
+ *errorString = "Attempt to access callframe when debugger is not on pause"; |
+ return; |
+ } |
+ InjectedScript& injectedScript = m_injectedScriptManager->injectedScriptForObjectId(callFrameId); |
+ if (injectedScript.isEmpty()) { |
+ *errorString = "Inspected frame has gone"; |
+ return; |
+ } |
+ |
+ ScriptDebugServer::PauseOnExceptionsState previousPauseOnExceptionsState = scriptDebugServer().pauseOnExceptionsState(); |
+ if (previousPauseOnExceptionsState != ScriptDebugServer::DontPauseOnExceptions) |
+ scriptDebugServer().setPauseOnExceptionsState(ScriptDebugServer::DontPauseOnExceptions); |
+ muteConsole(); |
+ |
+ Vector<StackTrace> asyncCallStacks; |
+ collectAsyncCallStacks(asyncCallStacks); |
+ injectedScript.getCompletionsOnCallFrame(errorString, m_currentCallStack, asyncCallStacks, callFrameId, expression, &result); |
+ |
+ unmuteConsole(); |
+ if (scriptDebugServer().pauseOnExceptionsState() != previousPauseOnExceptionsState) |
+ scriptDebugServer().setPauseOnExceptionsState(previousPauseOnExceptionsState); |
+} |
+ |
void InspectorDebuggerAgent::compileScript(ErrorString* errorString, const String& expression, const String& sourceURL, const int* executionContextId, TypeBuilder::OptOutput<ScriptId>* scriptId, TypeBuilder::OptOutput<String>* syntaxErrorMessage) |
{ |
- InjectedScript injectedScript = injectedScriptForEval(errorString, executionContextId); |
+ InjectedScript& injectedScript = injectedScriptForEval(errorString, executionContextId); |
if (injectedScript.isEmpty()) { |
*errorString = "Inspected frame has gone"; |
return; |
@@ -956,7 +973,7 @@ void InspectorDebuggerAgent::compileScript(ErrorString* errorString, const Strin |
void InspectorDebuggerAgent::runScript(ErrorString* errorString, const ScriptId& scriptId, const int* executionContextId, const String* const objectGroup, const bool* const doNotPauseOnExceptionsAndMuteConsole, RefPtr<RemoteObject>& result, TypeBuilder::OptOutput<bool>* wasThrown) |
{ |
- InjectedScript injectedScript = injectedScriptForEval(errorString, executionContextId); |
+ InjectedScript& injectedScript = injectedScriptForEval(errorString, executionContextId); |
if (injectedScript.isEmpty()) { |
*errorString = "Inspected frame has gone"; |
return; |
@@ -995,20 +1012,20 @@ void InspectorDebuggerAgent::setOverlayMessage(ErrorString*, const String*) |
void InspectorDebuggerAgent::setVariableValue(ErrorString* errorString, int scopeNumber, const String& variableName, const RefPtr<JSONObject>& newValue, const String* callFrameId, const String* functionObjectId) |
{ |
- InjectedScript injectedScript; |
+ InjectedScript* injectedScript = 0; |
if (callFrameId) { |
- if (!isPaused() || m_currentCallStack.isEmpty()) { |
+ if (!isPaused() || m_currentCallStack.isNull()) { |
*errorString = "Attempt to access callframe when debugger is not on pause"; |
return; |
} |
- injectedScript = m_injectedScriptManager->injectedScriptForObjectId(*callFrameId); |
- if (injectedScript.isEmpty()) { |
+ injectedScript = &m_injectedScriptManager->injectedScriptForObjectId(*callFrameId); |
+ if (injectedScript->isEmpty()) { |
*errorString = "Inspected frame has gone"; |
return; |
} |
} else if (functionObjectId) { |
- injectedScript = m_injectedScriptManager->injectedScriptForObjectId(*functionObjectId); |
- if (injectedScript.isEmpty()) { |
+ injectedScript = &m_injectedScriptManager->injectedScriptForObjectId(*functionObjectId); |
+ if (injectedScript->isEmpty()) { |
*errorString = "Function object id cannot be resolved"; |
return; |
} |
@@ -1017,8 +1034,8 @@ void InspectorDebuggerAgent::setVariableValue(ErrorString* errorString, int scop |
return; |
} |
String newValueString = newValue->toJSONString(); |
- |
- injectedScript.setVariableValue(errorString, m_currentCallStack, callFrameId, functionObjectId, scopeNumber, variableName, newValueString); |
+ ASSERT(injectedScript); |
+ injectedScript->setVariableValue(errorString, m_currentCallStack, callFrameId, functionObjectId, scopeNumber, variableName, newValueString); |
} |
void InspectorDebuggerAgent::skipStackFrames(ErrorString* errorString, const String* pattern) |
@@ -1053,9 +1070,9 @@ void InspectorDebuggerAgent::scriptExecutionBlockedByCSP(const String& directive |
PassRefPtr<Array<CallFrame> > InspectorDebuggerAgent::currentCallFrames() |
{ |
- if (!m_pausedScriptState || m_currentCallStack.isEmpty()) |
- return Array<CallFrame>::create(); |
- InjectedScript injectedScript = m_injectedScriptManager->injectedScriptFor(m_pausedScriptState.get()); |
+ if (!m_pausedScriptState || m_currentCallStack.isNull()) |
+ return Array<TypeBuilder::Debugger::CallFrame>::create(); |
+ InjectedScript& injectedScript = m_injectedScriptManager->injectedScriptFor(m_pausedScriptState.get()); |
if (injectedScript.isEmpty()) { |
ASSERT_NOT_REACHED(); |
return Array<CallFrame>::create(); |
@@ -1063,11 +1080,11 @@ PassRefPtr<Array<CallFrame> > InspectorDebuggerAgent::currentCallFrames() |
return injectedScript.wrapCallFrames(m_currentCallStack, 0); |
} |
-PassRefPtr<StackTrace> InspectorDebuggerAgent::currentAsyncStackTrace() |
+PassRefPtr<WebCore::TypeBuilder::Debugger::StackTrace> InspectorDebuggerAgent::currentAsyncStackTrace() |
{ |
if (!m_pausedScriptState || !m_asyncCallStackTracker.isEnabled()) |
return nullptr; |
- InjectedScript injectedScript = m_injectedScriptManager->injectedScriptFor(m_pausedScriptState.get()); |
+ InjectedScript& injectedScript = m_injectedScriptManager->injectedScriptFor(m_pausedScriptState.get()); |
if (injectedScript.isEmpty()) { |
ASSERT_NOT_REACHED(); |
return nullptr; |
@@ -1078,10 +1095,10 @@ PassRefPtr<StackTrace> InspectorDebuggerAgent::currentAsyncStackTrace() |
const AsyncCallStackTracker::AsyncCallStackVector& callStacks = chain->callStacks(); |
if (callStacks.isEmpty()) |
return nullptr; |
- RefPtr<StackTrace> result; |
+ RefPtr<WebCore::TypeBuilder::Debugger::StackTrace> result; |
int asyncOrdinal = callStacks.size(); |
for (AsyncCallStackTracker::AsyncCallStackVector::const_reverse_iterator it = callStacks.rbegin(); it != callStacks.rend(); ++it) { |
- RefPtr<StackTrace> next = StackTrace::create() |
+ RefPtr<WebCore::TypeBuilder::Debugger::StackTrace> next = WebCore::TypeBuilder::Debugger::StackTrace::create() |
.setCallFrames(injectedScript.wrapCallFrames((*it)->callFrames(), asyncOrdinal--)) |
.release(); |
next->setDescription((*it)->description()); |
@@ -1164,7 +1181,7 @@ void InspectorDebuggerAgent::failedToParseSource(const String& url, const String |
m_frontend->scriptFailedToParse(url, data, firstLine, errorLine, errorMessage); |
} |
-void InspectorDebuggerAgent::didPause(ScriptState* scriptState, const ScriptValue& callFrames, const ScriptValue& exception, const Vector<String>& hitBreakpoints) |
+void InspectorDebuggerAgent::didPause(ScriptState* scriptState, const StackTrace& callFrames, const ScriptValue& exception, const Vector<String>& hitBreakpoints) |
{ |
ASSERT(scriptState && !m_pausedScriptState); |
m_pausedScriptState = scriptState; |
@@ -1173,7 +1190,7 @@ void InspectorDebuggerAgent::didPause(ScriptState* scriptState, const ScriptValu |
m_skipStepInCount = numberOfStepsBeforeStepOut; |
if (!exception.isEmpty()) { |
- InjectedScript injectedScript = m_injectedScriptManager->injectedScriptFor(scriptState); |
+ InjectedScript& injectedScript = m_injectedScriptManager->injectedScriptFor(scriptState); |
if (!injectedScript.isEmpty()) { |
m_breakReason = InspectorFrontend::Debugger::Reason::Exception; |
m_breakAuxData = injectedScript.wrapObject(exception, InspectorDebuggerAgent::backtraceObjectGroup)->openAccessors(); |
@@ -1209,7 +1226,7 @@ void InspectorDebuggerAgent::didPause(ScriptState* scriptState, const ScriptValu |
void InspectorDebuggerAgent::didContinue() |
{ |
m_pausedScriptState = nullptr; |
- m_currentCallStack = ScriptValue(); |
+ m_currentCallStack = StackTrace(); |
clearBreakDetails(); |
m_frontend->resumed(); |
} |
@@ -1231,7 +1248,7 @@ void InspectorDebuggerAgent::breakProgram(InspectorFrontend::Debugger::Reason::E |
void InspectorDebuggerAgent::clear() |
{ |
m_pausedScriptState = nullptr; |
- m_currentCallStack = ScriptValue(); |
+ m_currentCallStack = StackTrace(); |
m_scripts.clear(); |
m_breakpointIdToDebugServerBreakpointIds.clear(); |
m_asyncCallStackTracker.clear(); |