Chromium Code Reviews| Index: Source/core/inspector/InspectorDebuggerAgent.cpp |
| diff --git a/Source/core/inspector/InspectorDebuggerAgent.cpp b/Source/core/inspector/InspectorDebuggerAgent.cpp |
| index ad65eddec478c5bb615129e2b80ef6d230b0956c..7935b5bee9ca9dabbd3f18314033604ff86c4d7c 100644 |
| --- a/Source/core/inspector/InspectorDebuggerAgent.cpp |
| +++ b/Source/core/inspector/InspectorDebuggerAgent.cpp |
| @@ -58,6 +58,7 @@ using blink::TypeBuilder::Debugger::CallFrame; |
| using blink::TypeBuilder::Debugger::CollectionEntry; |
| using blink::TypeBuilder::Debugger::ExceptionDetails; |
| using blink::TypeBuilder::Debugger::FunctionDetails; |
| +using blink::TypeBuilder::Debugger::PromiseDetails; |
| using blink::TypeBuilder::Debugger::ScriptId; |
| using blink::TypeBuilder::Debugger::StackTrace; |
| using blink::TypeBuilder::Runtime::RemoteObject; |
| @@ -77,6 +78,7 @@ static const char debuggerEnabled[] = "debuggerEnabled"; |
| static const char javaScriptBreakpoints[] = "javaScriptBreakopints"; |
| static const char pauseOnExceptionsState[] = "pauseOnExceptionsState"; |
| static const char asyncCallStackDepth[] = "asyncCallStackDepth"; |
| +static const char promiseTrackerEnabled[] = "promiseTrackerEnabled"; |
| // Breakpoint properties. |
| static const char url[] = "url"; |
| @@ -162,6 +164,7 @@ void InspectorDebuggerAgent::disable() |
| m_state->setString(DebuggerAgentState::skipStackPattern, ""); |
| m_state->setLong(DebuggerAgentState::asyncCallStackDepth, 0); |
| m_instrumentingAgents->setInspectorDebuggerAgent(0); |
| + m_state->setBoolean(DebuggerAgentState::promiseTrackerEnabled, false); |
|
aandrey
2014/09/01 13:39:27
move 1 line above
Alexandra Mikhaylova
2014/09/02 11:39:29
Done.
|
| scriptDebugServer().clearBreakpoints(); |
| scriptDebugServer().clearCompiledScripts(); |
| @@ -225,6 +228,10 @@ void InspectorDebuggerAgent::restore() |
| m_state->setBoolean(DebuggerAgentState::skipAllPauses, false); |
| } |
| asyncCallStackTracker().setAsyncCallStackDepth(m_state->getLong(DebuggerAgentState::asyncCallStackDepth)); |
| + if (m_state->getBoolean(DebuggerAgentState::promiseTrackerEnabled)) |
| + m_promiseTracker.enable(); |
|
aandrey
2014/09/01 13:39:27
setEnabled()?
Alexandra Mikhaylova
2014/09/02 11:39:29
Done, should we also change InspectorDebuggerAgent
|
| + else |
| + m_promiseTracker.disable(); |
| } |
| } |
| @@ -1163,6 +1170,25 @@ void InspectorDebuggerAgent::setAsyncCallStackDepth(ErrorString*, int depth) |
| asyncCallStackTracker().setAsyncCallStackDepth(depth); |
| } |
| +void InspectorDebuggerAgent::enablePromiseTracker(ErrorString*) |
| +{ |
| + m_state->setBoolean(DebuggerAgentState::promiseTrackerEnabled, true); |
| + m_promiseTracker.enable(); |
| +} |
| + |
| +void InspectorDebuggerAgent::disablePromiseTracker(ErrorString*) |
| +{ |
| + m_state->setBoolean(DebuggerAgentState::promiseTrackerEnabled, false); |
| + m_promiseTracker.disable(); |
| +} |
| + |
| +void InspectorDebuggerAgent::getPromises(ErrorString*, RefPtr<Array<PromiseDetails> >& promises) |
| +{ |
| + if (!m_promiseTracker.isEnabled()) |
| + return; |
| + promises = m_promiseTracker.getPromises(); |
| +} |
| + |
| void InspectorDebuggerAgent::scriptExecutionBlockedByCSP(const String& directiveText) |
| { |
| if (scriptDebugServer().pauseOnExceptionsState() != ScriptDebugServer::DontPauseOnExceptions) { |