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

Side by Side Diff: Source/core/inspector/V8DebuggerAgent.cpp

Issue 1298373005: DevTools: inline some private methods that called only once (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 4 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 unified diff | Download patch
« no previous file with comments | « Source/core/inspector/V8DebuggerAgent.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 #include "core/inspector/V8DebuggerAgent.h" 6 #include "core/inspector/V8DebuggerAgent.h"
7 7
8 #include "bindings/core/v8/ScriptCallStackFactory.h" 8 #include "bindings/core/v8/ScriptCallStackFactory.h"
9 #include "bindings/core/v8/ScriptRegexp.h" 9 #include "bindings/core/v8/ScriptRegexp.h"
10 #include "bindings/core/v8/ScriptValue.h" 10 #include "bindings/core/v8/ScriptValue.h"
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 { 186 {
187 // debugger().addListener may result in reporting all parsed scripts to 187 // debugger().addListener may result in reporting all parsed scripts to
188 // the agent so it should already be in enabled state by then. 188 // the agent so it should already be in enabled state by then.
189 m_state->setBoolean(DebuggerAgentState::debuggerEnabled, true); 189 m_state->setBoolean(DebuggerAgentState::debuggerEnabled, true);
190 debugger().addListener(m_contextGroupId, this); 190 debugger().addListener(m_contextGroupId, this);
191 // FIXME(WK44513): breakpoints activated flag should be synchronized between all front-ends 191 // FIXME(WK44513): breakpoints activated flag should be synchronized between all front-ends
192 debugger().setBreakpointsActivated(true); 192 debugger().setBreakpointsActivated(true);
193 m_client->debuggerAgentEnabled(); 193 m_client->debuggerAgentEnabled();
194 } 194 }
195 195
196 void V8DebuggerAgent::disable()
197 {
198 m_state->setObject(DebuggerAgentState::javaScriptBreakpoints, JSONObject::cr eate());
199 m_state->setLong(DebuggerAgentState::pauseOnExceptionsState, V8Debugger::Don tPauseOnExceptions);
200 m_state->setString(DebuggerAgentState::skipStackPattern, "");
201 m_state->setBoolean(DebuggerAgentState::skipContentScripts, false);
202 m_state->setLong(DebuggerAgentState::asyncCallStackDepth, 0);
203 m_state->setBoolean(DebuggerAgentState::promiseTrackerEnabled, false);
204
205 debugger().removeListener(m_contextGroupId);
206 m_client->debuggerAgentDisabled();
207 clear();
208 m_skipAllPauses = false;
209 }
210
211 bool V8DebuggerAgent::enabled() 196 bool V8DebuggerAgent::enabled()
212 { 197 {
213 return m_state->getBoolean(DebuggerAgentState::debuggerEnabled); 198 return m_state->getBoolean(DebuggerAgentState::debuggerEnabled);
214 } 199 }
215 200
216 void V8DebuggerAgent::enable(ErrorString*) 201 void V8DebuggerAgent::enable(ErrorString*)
217 { 202 {
218 if (enabled()) 203 if (enabled())
219 return; 204 return;
220 205
221 enable(); 206 enable();
222 207
223 ASSERT(m_frontend); 208 ASSERT(m_frontend);
224 } 209 }
225 210
226 void V8DebuggerAgent::disable(ErrorString*) 211 void V8DebuggerAgent::disable(ErrorString*)
227 { 212 {
228 if (!enabled()) 213 if (!enabled())
229 return; 214 return;
230 215
231 disable(); 216 m_state->setObject(DebuggerAgentState::javaScriptBreakpoints, JSONObject::cr eate());
217 m_state->setLong(DebuggerAgentState::pauseOnExceptionsState, V8Debugger::Don tPauseOnExceptions);
218 m_state->setString(DebuggerAgentState::skipStackPattern, "");
219 m_state->setBoolean(DebuggerAgentState::skipContentScripts, false);
220 m_state->setLong(DebuggerAgentState::asyncCallStackDepth, 0);
221 m_state->setBoolean(DebuggerAgentState::promiseTrackerEnabled, false);
222 m_state->setBoolean(DebuggerAgentState::promiseTrackerCaptureStacks, false);
223
224 debugger().removeListener(m_contextGroupId);
225 m_client->debuggerAgentDisabled();
226 m_pausedScriptState = nullptr;
227 m_currentCallStack.Reset();
228 m_scripts.clear();
229 m_breakpointIdToDebuggerBreakpointIds.clear();
230 internalSetAsyncCallStackDepth(0);
231 m_promiseTracker->setEnabled(false, false);
232 m_continueToLocationBreakpointId = String();
233 clearBreakDetails();
234 m_scheduledDebuggerStep = NoStep;
235 m_skipNextDebuggerStepOut = false;
236 m_javaScriptPauseScheduled = false;
237 m_steppingFromFramework = false;
238 m_pausingOnNativeEvent = false;
239 m_skippedStepFrameCount = 0;
240 m_recursionLevelForStepFrame = 0;
241 m_asyncOperationNotifications.clear();
242 m_compiledScripts.Clear();
243 clearStepIntoAsync();
244 m_skipAllPauses = false;
232 m_state->setBoolean(DebuggerAgentState::debuggerEnabled, false); 245 m_state->setBoolean(DebuggerAgentState::debuggerEnabled, false);
233 } 246 }
234 247
235 static PassOwnPtr<ScriptRegexp> compileSkipCallFramePattern(String patternText) 248 static PassOwnPtr<ScriptRegexp> compileSkipCallFramePattern(String patternText)
236 { 249 {
237 if (patternText.isEmpty()) 250 if (patternText.isEmpty())
238 return nullptr; 251 return nullptr;
239 OwnPtr<ScriptRegexp> result = adoptPtr(new ScriptRegexp(patternText, TextCas eSensitive)); 252 OwnPtr<ScriptRegexp> result = adoptPtr(new ScriptRegexp(patternText, TextCas eSensitive));
240 if (!result->isValid()) 253 if (!result->isValid())
241 result.clear(); 254 result.clear();
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 m_frontend->globalObjectCleared(); 288 m_frontend->globalObjectCleared();
276 enable(); 289 enable();
277 long pauseState = m_state->getLong(DebuggerAgentState::pauseOnExceptions State, V8Debugger::DontPauseOnExceptions); 290 long pauseState = m_state->getLong(DebuggerAgentState::pauseOnExceptions State, V8Debugger::DontPauseOnExceptions);
278 String error; 291 String error;
279 setPauseOnExceptionsImpl(&error, pauseState); 292 setPauseOnExceptionsImpl(&error, pauseState);
280 m_cachedSkipStackRegExp = compileSkipCallFramePattern(m_state->getString (DebuggerAgentState::skipStackPattern)); 293 m_cachedSkipStackRegExp = compileSkipCallFramePattern(m_state->getString (DebuggerAgentState::skipStackPattern));
281 increaseCachedSkipStackGeneration(); 294 increaseCachedSkipStackGeneration();
282 m_skipContentScripts = m_state->getBoolean(DebuggerAgentState::skipConte ntScripts); 295 m_skipContentScripts = m_state->getBoolean(DebuggerAgentState::skipConte ntScripts);
283 m_skipAllPauses = m_state->getBoolean(DebuggerAgentState::skipAllPauses) ; 296 m_skipAllPauses = m_state->getBoolean(DebuggerAgentState::skipAllPauses) ;
284 internalSetAsyncCallStackDepth(m_state->getLong(DebuggerAgentState::asyn cCallStackDepth)); 297 internalSetAsyncCallStackDepth(m_state->getLong(DebuggerAgentState::asyn cCallStackDepth));
285 promiseTracker().setEnabled(m_state->getBoolean(DebuggerAgentState::prom iseTrackerEnabled), m_state->getBoolean(DebuggerAgentState::promiseTrackerCaptur eStacks)); 298 m_promiseTracker->setEnabled(m_state->getBoolean(DebuggerAgentState::pro miseTrackerEnabled), m_state->getBoolean(DebuggerAgentState::promiseTrackerCaptu reStacks));
286 } 299 }
287 } 300 }
288 301
289 void V8DebuggerAgent::setBreakpointsActive(ErrorString* errorString, bool active ) 302 void V8DebuggerAgent::setBreakpointsActive(ErrorString* errorString, bool active )
290 { 303 {
291 if (!checkEnabled(errorString)) 304 if (!checkEnabled(errorString))
292 return; 305 return;
293 debugger().setBreakpointsActivated(active); 306 debugger().setBreakpointsActivated(active);
294 } 307 }
295 308
(...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after
741 754
742 void V8DebuggerAgent::didReceiveV8AsyncTaskEvent(v8::Local<v8::Context> context, const String& eventType, const String& eventName, int id) 755 void V8DebuggerAgent::didReceiveV8AsyncTaskEvent(v8::Local<v8::Context> context, const String& eventType, const String& eventName, int id)
743 { 756 {
744 ASSERT(trackingAsyncCalls()); 757 ASSERT(trackingAsyncCalls());
745 ScriptState* state = ScriptState::from(context); 758 ScriptState* state = ScriptState::from(context);
746 m_v8AsyncCallTracker->didReceiveV8AsyncTaskEvent(state, eventType, eventName , id); 759 m_v8AsyncCallTracker->didReceiveV8AsyncTaskEvent(state, eventType, eventName , id);
747 } 760 }
748 761
749 bool V8DebuggerAgent::v8PromiseEventsEnabled() const 762 bool V8DebuggerAgent::v8PromiseEventsEnabled() const
750 { 763 {
751 return promiseTracker().isEnabled(); 764 return m_promiseTracker->isEnabled();
752 } 765 }
753 766
754 void V8DebuggerAgent::didReceiveV8PromiseEvent(v8::Local<v8::Context> context, v 8::Local<v8::Object> promise, v8::Local<v8::Value> parentPromise, int status) 767 void V8DebuggerAgent::didReceiveV8PromiseEvent(v8::Local<v8::Context> context, v 8::Local<v8::Object> promise, v8::Local<v8::Value> parentPromise, int status)
755 { 768 {
756 ASSERT(promiseTracker().isEnabled()); 769 ASSERT(m_promiseTracker->isEnabled());
757 ScriptState* scriptState = ScriptState::from(context); 770 ScriptState* scriptState = ScriptState::from(context);
758 promiseTracker().didReceiveV8PromiseEvent(scriptState, promise, parentPromis e, status); 771 m_promiseTracker->didReceiveV8PromiseEvent(scriptState, promise, parentPromi se, status);
759 } 772 }
760 773
761 void V8DebuggerAgent::pause(ErrorString* errorString) 774 void V8DebuggerAgent::pause(ErrorString* errorString)
762 { 775 {
763 if (!checkEnabled(errorString)) 776 if (!checkEnabled(errorString))
764 return; 777 return;
765 if (m_javaScriptPauseScheduled || isPaused()) 778 if (m_javaScriptPauseScheduled || isPaused())
766 return; 779 return;
767 clearBreakDetails(); 780 clearBreakDetails();
768 clearStepIntoAsync(); 781 clearStepIntoAsync();
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
1082 m_state->setLong(DebuggerAgentState::asyncCallStackDepth, depth); 1095 m_state->setLong(DebuggerAgentState::asyncCallStackDepth, depth);
1083 internalSetAsyncCallStackDepth(depth); 1096 internalSetAsyncCallStackDepth(depth);
1084 } 1097 }
1085 1098
1086 void V8DebuggerAgent::enablePromiseTracker(ErrorString* errorString, const bool* captureStacks) 1099 void V8DebuggerAgent::enablePromiseTracker(ErrorString* errorString, const bool* captureStacks)
1087 { 1100 {
1088 if (!checkEnabled(errorString)) 1101 if (!checkEnabled(errorString))
1089 return; 1102 return;
1090 m_state->setBoolean(DebuggerAgentState::promiseTrackerEnabled, true); 1103 m_state->setBoolean(DebuggerAgentState::promiseTrackerEnabled, true);
1091 m_state->setBoolean(DebuggerAgentState::promiseTrackerCaptureStacks, asBool( captureStacks)); 1104 m_state->setBoolean(DebuggerAgentState::promiseTrackerCaptureStacks, asBool( captureStacks));
1092 promiseTracker().setEnabled(true, asBool(captureStacks)); 1105 m_promiseTracker->setEnabled(true, asBool(captureStacks));
1093 } 1106 }
1094 1107
1095 void V8DebuggerAgent::disablePromiseTracker(ErrorString* errorString) 1108 void V8DebuggerAgent::disablePromiseTracker(ErrorString* errorString)
1096 { 1109 {
1097 if (!checkEnabled(errorString)) 1110 if (!checkEnabled(errorString))
1098 return; 1111 return;
1099 m_state->setBoolean(DebuggerAgentState::promiseTrackerEnabled, false); 1112 m_state->setBoolean(DebuggerAgentState::promiseTrackerEnabled, false);
1100 promiseTracker().setEnabled(false, false); 1113 m_promiseTracker->setEnabled(false, false);
1101 } 1114 }
1102 1115
1103 void V8DebuggerAgent::getPromiseById(ErrorString* errorString, int promiseId, co nst String* objectGroup, RefPtr<RemoteObject>& promise) 1116 void V8DebuggerAgent::getPromiseById(ErrorString* errorString, int promiseId, co nst String* objectGroup, RefPtr<RemoteObject>& promise)
1104 { 1117 {
1105 if (!checkEnabled(errorString)) 1118 if (!checkEnabled(errorString))
1106 return; 1119 return;
1107 if (!promiseTracker().isEnabled()) { 1120 if (!m_promiseTracker->isEnabled()) {
1108 *errorString = "Promise tracking is disabled"; 1121 *errorString = "Promise tracking is disabled";
1109 return; 1122 return;
1110 } 1123 }
1111 ScriptValue value = promiseTracker().promiseById(promiseId); 1124 ScriptValue value = m_promiseTracker->promiseById(promiseId);
1112 if (value.isEmpty()) { 1125 if (value.isEmpty()) {
1113 *errorString = "Promise with specified ID not found."; 1126 *errorString = "Promise with specified ID not found.";
1114 return; 1127 return;
1115 } 1128 }
1116 InjectedScript injectedScript = m_injectedScriptManager->injectedScriptFor(v alue.scriptState()); 1129 InjectedScript injectedScript = m_injectedScriptManager->injectedScriptFor(v alue.scriptState());
1117 promise = injectedScript.wrapObject(value, objectGroup ? *objectGroup : ""); 1130 promise = injectedScript.wrapObject(value, objectGroup ? *objectGroup : "");
1118 } 1131 }
1119 1132
1120 void V8DebuggerAgent::didUpdatePromise(InspectorFrontend::Debugger::EventType::E num eventType, PassRefPtr<TypeBuilder::Debugger::PromiseDetails> promise) 1133 void V8DebuggerAgent::didUpdatePromise(InspectorFrontend::Debugger::EventType::E num eventType, PassRefPtr<TypeBuilder::Debugger::PromiseDetails> promise)
1121 { 1134 {
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after
1634 return; 1647 return;
1635 m_breakReason = breakReason; 1648 m_breakReason = breakReason;
1636 m_breakAuxData = data; 1649 m_breakAuxData = data;
1637 m_scheduledDebuggerStep = NoStep; 1650 m_scheduledDebuggerStep = NoStep;
1638 m_steppingFromFramework = false; 1651 m_steppingFromFramework = false;
1639 m_pausingOnNativeEvent = false; 1652 m_pausingOnNativeEvent = false;
1640 clearStepIntoAsync(); 1653 clearStepIntoAsync();
1641 debugger().breakProgram(); 1654 debugger().breakProgram();
1642 } 1655 }
1643 1656
1644 void V8DebuggerAgent::clear()
1645 {
1646 m_pausedScriptState = nullptr;
1647 m_currentCallStack.Reset();
1648 m_scripts.clear();
1649 m_breakpointIdToDebuggerBreakpointIds.clear();
1650 internalSetAsyncCallStackDepth(0);
1651 promiseTracker().clear();
1652 m_continueToLocationBreakpointId = String();
1653 clearBreakDetails();
1654 m_scheduledDebuggerStep = NoStep;
1655 m_skipNextDebuggerStepOut = false;
1656 m_javaScriptPauseScheduled = false;
1657 m_steppingFromFramework = false;
1658 m_pausingOnNativeEvent = false;
1659 m_skippedStepFrameCount = 0;
1660 m_recursionLevelForStepFrame = 0;
1661 m_asyncOperationNotifications.clear();
1662 m_compiledScripts.Clear();
1663 clearStepIntoAsync();
1664 }
1665
1666 void V8DebuggerAgent::clearStepIntoAsync() 1657 void V8DebuggerAgent::clearStepIntoAsync()
1667 { 1658 {
1668 m_startingStepIntoAsync = false; 1659 m_startingStepIntoAsync = false;
1669 m_pausingOnAsyncOperation = false; 1660 m_pausingOnAsyncOperation = false;
1670 m_pausingAsyncOperations.clear(); 1661 m_pausingAsyncOperations.clear();
1671 } 1662 }
1672 1663
1673 bool V8DebuggerAgent::assertPaused(ErrorString* errorString) 1664 bool V8DebuggerAgent::assertPaused(ErrorString* errorString)
1674 { 1665 {
1675 if (!m_pausedScriptState) { 1666 if (!m_pausedScriptState) {
(...skipping 20 matching lines...) Expand all
1696 { 1687 {
1697 removeBreakpoint(generateBreakpointId(scriptId, lineNumber, columnNumber, so urce)); 1688 removeBreakpoint(generateBreakpointId(scriptId, lineNumber, columnNumber, so urce));
1698 } 1689 }
1699 1690
1700 void V8DebuggerAgent::reset() 1691 void V8DebuggerAgent::reset()
1701 { 1692 {
1702 m_scheduledDebuggerStep = NoStep; 1693 m_scheduledDebuggerStep = NoStep;
1703 m_scripts.clear(); 1694 m_scripts.clear();
1704 m_breakpointIdToDebuggerBreakpointIds.clear(); 1695 m_breakpointIdToDebuggerBreakpointIds.clear();
1705 resetAsyncCallTracker(); 1696 resetAsyncCallTracker();
1706 promiseTracker().clear(); 1697 m_promiseTracker->clear();
1707 if (m_frontend) 1698 if (m_frontend)
1708 m_frontend->globalObjectCleared(); 1699 m_frontend->globalObjectCleared();
1709 } 1700 }
1710 1701
1711 PassRefPtr<TypeBuilder::Debugger::ExceptionDetails> V8DebuggerAgent::createExcep tionDetails(v8::Isolate* isolate, v8::Local<v8::Message> message) 1702 PassRefPtr<TypeBuilder::Debugger::ExceptionDetails> V8DebuggerAgent::createExcep tionDetails(v8::Isolate* isolate, v8::Local<v8::Message> message)
1712 { 1703 {
1713 RefPtr<ExceptionDetails> exceptionDetails = ExceptionDetails::create().setTe xt(toCoreStringWithUndefinedOrNullCheck(message->Get())); 1704 RefPtr<ExceptionDetails> exceptionDetails = ExceptionDetails::create().setTe xt(toCoreStringWithUndefinedOrNullCheck(message->Get()));
1714 exceptionDetails->setLine(message->GetLineNumber()); 1705 exceptionDetails->setLine(message->GetLineNumber());
1715 exceptionDetails->setColumn(message->GetStartColumn()); 1706 exceptionDetails->setColumn(message->GetStartColumn());
1716 v8::Local<v8::StackTrace> messageStackTrace = message->GetStackTrace(); 1707 v8::Local<v8::StackTrace> messageStackTrace = message->GetStackTrace();
1717 if (!messageStackTrace.IsEmpty() && messageStackTrace->GetFrameCount() > 0) 1708 if (!messageStackTrace.IsEmpty() && messageStackTrace->GetFrameCount() > 0)
1718 exceptionDetails->setStackTrace(createScriptCallStack(isolate, messageSt ackTrace, messageStackTrace->GetFrameCount())->buildInspectorArray()); 1709 exceptionDetails->setStackTrace(createScriptCallStack(isolate, messageSt ackTrace, messageStackTrace->GetFrameCount())->buildInspectorArray());
1719 return exceptionDetails.release(); 1710 return exceptionDetails.release();
1720 } 1711 }
1721 1712
1722 } // namespace blink 1713 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/inspector/V8DebuggerAgent.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698