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

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

Issue 300393002: Merge DevTools Refactor CL to Blink36 (Closed) Base URL: svn://svn.chromium.org/blink/branches/dart/1985
Patch Set: PTAL Created 6 years, 6 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 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();
« no previous file with comments | « Source/core/inspector/InspectorDebuggerAgent.h ('k') | Source/core/inspector/InspectorHeapProfilerAgent.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698