| 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();
|
|
|