| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2010 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2013 Google Inc. All rights reserved. | 3 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * | 8 * |
| 9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 245 } | 245 } |
| 246 | 246 |
| 247 void InspectorDebuggerAgent::setBreakpointsActive(ErrorString*, bool active) | 247 void InspectorDebuggerAgent::setBreakpointsActive(ErrorString*, bool active) |
| 248 { | 248 { |
| 249 scriptDebugServer().setBreakpointsActivated(active); | 249 scriptDebugServer().setBreakpointsActivated(active); |
| 250 } | 250 } |
| 251 | 251 |
| 252 void InspectorDebuggerAgent::setSkipAllPauses(ErrorString*, bool skipped, const
bool* untilReload) | 252 void InspectorDebuggerAgent::setSkipAllPauses(ErrorString*, bool skipped, const
bool* untilReload) |
| 253 { | 253 { |
| 254 m_skipAllPauses = skipped; | 254 m_skipAllPauses = skipped; |
| 255 bool untilReloadValue = untilReload && *untilReload; | |
| 256 m_state->setBoolean(DebuggerAgentState::skipAllPauses, m_skipAllPauses); | 255 m_state->setBoolean(DebuggerAgentState::skipAllPauses, m_skipAllPauses); |
| 257 m_state->setBoolean(DebuggerAgentState::skipAllPausesExpiresOnReload, untilR
eloadValue); | 256 m_state->setBoolean(DebuggerAgentState::skipAllPausesExpiresOnReload, asBool
(untilReload)); |
| 258 } | 257 } |
| 259 | 258 |
| 260 void InspectorDebuggerAgent::pageDidCommitLoad() | 259 void InspectorDebuggerAgent::pageDidCommitLoad() |
| 261 { | 260 { |
| 262 if (m_state->getBoolean(DebuggerAgentState::skipAllPausesExpiresOnReload)) { | 261 if (m_state->getBoolean(DebuggerAgentState::skipAllPausesExpiresOnReload)) { |
| 263 m_skipAllPauses = false; | 262 m_skipAllPauses = false; |
| 264 m_state->setBoolean(DebuggerAgentState::skipAllPauses, m_skipAllPauses); | 263 m_state->setBoolean(DebuggerAgentState::skipAllPauses, m_skipAllPauses); |
| 265 } | 264 } |
| 266 } | 265 } |
| 267 | 266 |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 313 } | 312 } |
| 314 | 313 |
| 315 void InspectorDebuggerAgent::setBreakpointByUrl(ErrorString* errorString, int li
neNumber, const String* const optionalURL, const String* const optionalURLRegex,
const int* const optionalColumnNumber, const String* const optionalCondition, c
onst bool* isAntiBreakpoint, BreakpointId* outBreakpointId, RefPtr<Array<TypeBui
lder::Debugger::Location> >& locations) | 314 void InspectorDebuggerAgent::setBreakpointByUrl(ErrorString* errorString, int li
neNumber, const String* const optionalURL, const String* const optionalURLRegex,
const int* const optionalColumnNumber, const String* const optionalCondition, c
onst bool* isAntiBreakpoint, BreakpointId* outBreakpointId, RefPtr<Array<TypeBui
lder::Debugger::Location> >& locations) |
| 316 { | 315 { |
| 317 locations = Array<TypeBuilder::Debugger::Location>::create(); | 316 locations = Array<TypeBuilder::Debugger::Location>::create(); |
| 318 if (!optionalURL == !optionalURLRegex) { | 317 if (!optionalURL == !optionalURLRegex) { |
| 319 *errorString = "Either url or urlRegex must be specified."; | 318 *errorString = "Either url or urlRegex must be specified."; |
| 320 return; | 319 return; |
| 321 } | 320 } |
| 322 | 321 |
| 323 bool isAntiBreakpointValue = isAntiBreakpoint && *isAntiBreakpoint; | 322 bool isAntiBreakpointValue = asBool(isAntiBreakpoint); |
| 324 | 323 |
| 325 String url = optionalURL ? *optionalURL : *optionalURLRegex; | 324 String url = optionalURL ? *optionalURL : *optionalURLRegex; |
| 326 int columnNumber; | 325 int columnNumber; |
| 327 if (optionalColumnNumber) { | 326 if (optionalColumnNumber) { |
| 328 columnNumber = *optionalColumnNumber; | 327 columnNumber = *optionalColumnNumber; |
| 329 if (columnNumber < 0) { | 328 if (columnNumber < 0) { |
| 330 *errorString = "Incorrect column number"; | 329 *errorString = "Incorrect column number"; |
| 331 return; | 330 return; |
| 332 } | 331 } |
| 333 } else { | 332 } else { |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 419 for (size_t i = 0; i < debugServerBreakpointIdsIterator->value.size(); ++i)
{ | 418 for (size_t i = 0; i < debugServerBreakpointIdsIterator->value.size(); ++i)
{ |
| 420 const String& debugServerBreakpointId = debugServerBreakpointIdsIterator
->value[i]; | 419 const String& debugServerBreakpointId = debugServerBreakpointIdsIterator
->value[i]; |
| 421 scriptDebugServer().removeBreakpoint(debugServerBreakpointId); | 420 scriptDebugServer().removeBreakpoint(debugServerBreakpointId); |
| 422 m_serverBreakpoints.remove(debugServerBreakpointId); | 421 m_serverBreakpoints.remove(debugServerBreakpointId); |
| 423 } | 422 } |
| 424 m_breakpointIdToDebugServerBreakpointIds.remove(debugServerBreakpointIdsIter
ator); | 423 m_breakpointIdToDebugServerBreakpointIds.remove(debugServerBreakpointIdsIter
ator); |
| 425 } | 424 } |
| 426 | 425 |
| 427 void InspectorDebuggerAgent::continueToLocation(ErrorString* errorString, const
RefPtr<JSONObject>& location, const bool* interstateLocationOpt) | 426 void InspectorDebuggerAgent::continueToLocation(ErrorString* errorString, const
RefPtr<JSONObject>& location, const bool* interstateLocationOpt) |
| 428 { | 427 { |
| 429 bool interstateLocation = interstateLocationOpt ? *interstateLocationOpt : f
alse; | |
| 430 if (!m_continueToLocationBreakpointId.isEmpty()) { | 428 if (!m_continueToLocationBreakpointId.isEmpty()) { |
| 431 scriptDebugServer().removeBreakpoint(m_continueToLocationBreakpointId); | 429 scriptDebugServer().removeBreakpoint(m_continueToLocationBreakpointId); |
| 432 m_continueToLocationBreakpointId = ""; | 430 m_continueToLocationBreakpointId = ""; |
| 433 } | 431 } |
| 434 | 432 |
| 435 String scriptId; | 433 String scriptId; |
| 436 int lineNumber; | 434 int lineNumber; |
| 437 int columnNumber; | 435 int columnNumber; |
| 438 | 436 |
| 439 if (!parseLocation(errorString, location, &scriptId, &lineNumber, &columnNum
ber)) | 437 if (!parseLocation(errorString, location, &scriptId, &lineNumber, &columnNum
ber)) |
| 440 return; | 438 return; |
| 441 | 439 |
| 442 ScriptBreakpoint breakpoint(lineNumber, columnNumber, ""); | 440 ScriptBreakpoint breakpoint(lineNumber, columnNumber, ""); |
| 443 m_continueToLocationBreakpointId = scriptDebugServer().setBreakpoint(scriptI
d, breakpoint, &lineNumber, &columnNumber, interstateLocation); | 441 m_continueToLocationBreakpointId = scriptDebugServer().setBreakpoint(scriptI
d, breakpoint, &lineNumber, &columnNumber, asBool(interstateLocationOpt)); |
| 444 resume(errorString); | 442 resume(errorString); |
| 445 } | 443 } |
| 446 | 444 |
| 447 void InspectorDebuggerAgent::getStepInPositions(ErrorString* errorString, const
String& callFrameId, RefPtr<Array<TypeBuilder::Debugger::Location> >& positions) | 445 void InspectorDebuggerAgent::getStepInPositions(ErrorString* errorString, const
String& callFrameId, RefPtr<Array<TypeBuilder::Debugger::Location> >& positions) |
| 448 { | 446 { |
| 449 if (!isPaused() || m_currentCallStack.isEmpty()) { | 447 if (!isPaused() || m_currentCallStack.isEmpty()) { |
| 450 *errorString = "Attempt to access callframe when debugger is not on paus
e"; | 448 *errorString = "Attempt to access callframe when debugger is not on paus
e"; |
| 451 return; | 449 return; |
| 452 } | 450 } |
| 453 InjectedScript injectedScript = m_injectedScriptManager->injectedScriptForOb
jectId(callFrameId); | 451 InjectedScript injectedScript = m_injectedScriptManager->injectedScriptForOb
jectId(callFrameId); |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 602 | 600 |
| 603 RefPtr<TypeBuilder::Debugger::Location> location = TypeBuilder::Debugger::Lo
cation::create() | 601 RefPtr<TypeBuilder::Debugger::Location> location = TypeBuilder::Debugger::Lo
cation::create() |
| 604 .setScriptId(scriptId) | 602 .setScriptId(scriptId) |
| 605 .setLineNumber(actualLineNumber); | 603 .setLineNumber(actualLineNumber); |
| 606 location->setColumnNumber(actualColumnNumber); | 604 location->setColumnNumber(actualColumnNumber); |
| 607 return location; | 605 return location; |
| 608 } | 606 } |
| 609 | 607 |
| 610 void InspectorDebuggerAgent::searchInContent(ErrorString* error, const String& s
criptId, const String& query, const bool* const optionalCaseSensitive, const boo
l* const optionalIsRegex, RefPtr<Array<blink::TypeBuilder::Page::SearchMatch> >&
results) | 608 void InspectorDebuggerAgent::searchInContent(ErrorString* error, const String& s
criptId, const String& query, const bool* const optionalCaseSensitive, const boo
l* const optionalIsRegex, RefPtr<Array<blink::TypeBuilder::Page::SearchMatch> >&
results) |
| 611 { | 609 { |
| 612 bool isRegex = optionalIsRegex ? *optionalIsRegex : false; | |
| 613 bool caseSensitive = optionalCaseSensitive ? *optionalCaseSensitive : false; | |
| 614 | |
| 615 ScriptsMap::iterator it = m_scripts.find(scriptId); | 610 ScriptsMap::iterator it = m_scripts.find(scriptId); |
| 616 if (it != m_scripts.end()) | 611 if (it != m_scripts.end()) |
| 617 results = ContentSearchUtils::searchInTextByLines(it->value.source, quer
y, caseSensitive, isRegex); | 612 results = ContentSearchUtils::searchInTextByLines(it->value.source, quer
y, asBool(optionalCaseSensitive), asBool(optionalIsRegex)); |
| 618 else | 613 else |
| 619 *error = "No script for id: " + scriptId; | 614 *error = "No script for id: " + scriptId; |
| 620 } | 615 } |
| 621 | 616 |
| 622 void InspectorDebuggerAgent::setScriptSource(ErrorString* error, RefPtr<TypeBuil
der::Debugger::SetScriptSourceError>& errorData, const String& scriptId, const S
tring& newContent, const bool* const preview, RefPtr<Array<CallFrame> >& newCall
Frames, RefPtr<JSONObject>& result, RefPtr<StackTrace>& asyncStackTrace) | 617 void InspectorDebuggerAgent::setScriptSource(ErrorString* error, RefPtr<TypeBuil
der::Debugger::SetScriptSourceError>& errorData, const String& scriptId, const S
tring& newContent, const bool* const preview, RefPtr<Array<CallFrame> >& newCall
Frames, RefPtr<JSONObject>& result, RefPtr<StackTrace>& asyncStackTrace) |
| 623 { | 618 { |
| 624 bool previewOnly = preview && *preview; | 619 if (!scriptDebugServer().setScriptSource(scriptId, newContent, asBool(previe
w), error, errorData, &m_currentCallStack, &result)) |
| 625 if (!scriptDebugServer().setScriptSource(scriptId, newContent, previewOnly,
error, errorData, &m_currentCallStack, &result)) | |
| 626 return; | 620 return; |
| 627 | 621 |
| 628 newCallFrames = currentCallFrames(); | 622 newCallFrames = currentCallFrames(); |
| 629 asyncStackTrace = currentAsyncStackTrace(); | 623 asyncStackTrace = currentAsyncStackTrace(); |
| 630 | 624 |
| 631 ScriptsMap::iterator it = m_scripts.find(scriptId); | 625 ScriptsMap::iterator it = m_scripts.find(scriptId); |
| 632 if (it == m_scripts.end()) | 626 if (it == m_scripts.end()) |
| 633 return; | 627 return; |
| 634 String url = it->value.url; | 628 String url = it->value.url; |
| 635 if (url.isEmpty()) | 629 if (url.isEmpty()) |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 969 *errorString = "Attempt to access callframe when debugger is not on paus
e"; | 963 *errorString = "Attempt to access callframe when debugger is not on paus
e"; |
| 970 return; | 964 return; |
| 971 } | 965 } |
| 972 InjectedScript injectedScript = m_injectedScriptManager->injectedScriptForOb
jectId(callFrameId); | 966 InjectedScript injectedScript = m_injectedScriptManager->injectedScriptForOb
jectId(callFrameId); |
| 973 if (injectedScript.isEmpty()) { | 967 if (injectedScript.isEmpty()) { |
| 974 *errorString = "Inspected frame has gone"; | 968 *errorString = "Inspected frame has gone"; |
| 975 return; | 969 return; |
| 976 } | 970 } |
| 977 | 971 |
| 978 ScriptDebugServer::PauseOnExceptionsState previousPauseOnExceptionsState = s
criptDebugServer().pauseOnExceptionsState(); | 972 ScriptDebugServer::PauseOnExceptionsState previousPauseOnExceptionsState = s
criptDebugServer().pauseOnExceptionsState(); |
| 979 if (doNotPauseOnExceptionsAndMuteConsole ? *doNotPauseOnExceptionsAndMuteCon
sole : false) { | 973 if (asBool(doNotPauseOnExceptionsAndMuteConsole)) { |
| 980 if (previousPauseOnExceptionsState != ScriptDebugServer::DontPauseOnExce
ptions) | 974 if (previousPauseOnExceptionsState != ScriptDebugServer::DontPauseOnExce
ptions) |
| 981 scriptDebugServer().setPauseOnExceptionsState(ScriptDebugServer::Don
tPauseOnExceptions); | 975 scriptDebugServer().setPauseOnExceptionsState(ScriptDebugServer::Don
tPauseOnExceptions); |
| 982 muteConsole(); | 976 muteConsole(); |
| 983 } | 977 } |
| 984 | 978 |
| 985 Vector<ScriptValue> asyncCallStacks; | 979 Vector<ScriptValue> asyncCallStacks; |
| 986 const AsyncCallStackTracker::AsyncCallChain* asyncChain = m_asyncCallStackTr
acker.isEnabled() ? m_asyncCallStackTracker.currentAsyncCallChain() : 0; | 980 const AsyncCallStackTracker::AsyncCallChain* asyncChain = m_asyncCallStackTr
acker.isEnabled() ? m_asyncCallStackTracker.currentAsyncCallChain() : 0; |
| 987 if (asyncChain) { | 981 if (asyncChain) { |
| 988 const AsyncCallStackTracker::AsyncCallStackVector& callStacks = asyncCha
in->callStacks(); | 982 const AsyncCallStackTracker::AsyncCallStackVector& callStacks = asyncCha
in->callStacks(); |
| 989 asyncCallStacks.resize(callStacks.size()); | 983 asyncCallStacks.resize(callStacks.size()); |
| 990 AsyncCallStackTracker::AsyncCallStackVector::const_iterator it = callSta
cks.begin(); | 984 AsyncCallStackTracker::AsyncCallStackVector::const_iterator it = callSta
cks.begin(); |
| 991 for (size_t i = 0; it != callStacks.end(); ++it, ++i) | 985 for (size_t i = 0; it != callStacks.end(); ++it, ++i) |
| 992 asyncCallStacks[i] = (*it)->callFrames(); | 986 asyncCallStacks[i] = (*it)->callFrames(); |
| 993 } | 987 } |
| 994 | 988 |
| 995 injectedScript.evaluateOnCallFrame(errorString, m_currentCallStack, asyncCal
lStacks, callFrameId, expression, objectGroup ? *objectGroup : "", includeComman
dLineAPI ? *includeCommandLineAPI : false, returnByValue ? *returnByValue : fals
e, generatePreview ? *generatePreview : false, &result, wasThrown, &exceptionDet
ails); | 989 injectedScript.evaluateOnCallFrame(errorString, m_currentCallStack, asyncCal
lStacks, callFrameId, expression, objectGroup ? *objectGroup : "", asBool(includ
eCommandLineAPI), asBool(returnByValue), asBool(generatePreview), &result, wasTh
rown, &exceptionDetails); |
| 996 // V8 doesn't generate afterCompile event when it's in debugger therefore th
ere is no content of evaluated scripts on frontend | 990 // V8 doesn't generate afterCompile event when it's in debugger therefore th
ere is no content of evaluated scripts on frontend |
| 997 // therefore contents of the stack does not provide necessary information | 991 // therefore contents of the stack does not provide necessary information |
| 998 if (exceptionDetails) | 992 if (exceptionDetails) |
| 999 exceptionDetails->setStackTrace(TypeBuilder::Array<TypeBuilder::Console:
:CallFrame>::create()); | 993 exceptionDetails->setStackTrace(TypeBuilder::Array<TypeBuilder::Console:
:CallFrame>::create()); |
| 1000 if (doNotPauseOnExceptionsAndMuteConsole ? *doNotPauseOnExceptionsAndMuteCon
sole : false) { | 994 if (asBool(doNotPauseOnExceptionsAndMuteConsole)) { |
| 1001 unmuteConsole(); | 995 unmuteConsole(); |
| 1002 if (scriptDebugServer().pauseOnExceptionsState() != previousPauseOnExcep
tionsState) | 996 if (scriptDebugServer().pauseOnExceptionsState() != previousPauseOnExcep
tionsState) |
| 1003 scriptDebugServer().setPauseOnExceptionsState(previousPauseOnExcepti
onsState); | 997 scriptDebugServer().setPauseOnExceptionsState(previousPauseOnExcepti
onsState); |
| 1004 } | 998 } |
| 1005 } | 999 } |
| 1006 | 1000 |
| 1007 void InspectorDebuggerAgent::compileScript(ErrorString* errorString, const Strin
g& expression, const String& sourceURL, const int* executionContextId, TypeBuild
er::OptOutput<ScriptId>* scriptId, RefPtr<ExceptionDetails>& exceptionDetails) | 1001 void InspectorDebuggerAgent::compileScript(ErrorString* errorString, const Strin
g& expression, const String& sourceURL, const int* executionContextId, TypeBuild
er::OptOutput<ScriptId>* scriptId, RefPtr<ExceptionDetails>& exceptionDetails) |
| 1008 { | 1002 { |
| 1009 InjectedScript injectedScript = injectedScriptForEval(errorString, execution
ContextId); | 1003 InjectedScript injectedScript = injectedScriptForEval(errorString, execution
ContextId); |
| 1010 if (injectedScript.isEmpty()) { | 1004 if (injectedScript.isEmpty()) { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1035 | 1029 |
| 1036 void InspectorDebuggerAgent::runScript(ErrorString* errorString, const ScriptId&
scriptId, const int* executionContextId, const String* const objectGroup, const
bool* const doNotPauseOnExceptionsAndMuteConsole, RefPtr<RemoteObject>& result,
RefPtr<ExceptionDetails>& exceptionDetails) | 1030 void InspectorDebuggerAgent::runScript(ErrorString* errorString, const ScriptId&
scriptId, const int* executionContextId, const String* const objectGroup, const
bool* const doNotPauseOnExceptionsAndMuteConsole, RefPtr<RemoteObject>& result,
RefPtr<ExceptionDetails>& exceptionDetails) |
| 1037 { | 1031 { |
| 1038 InjectedScript injectedScript = injectedScriptForEval(errorString, execution
ContextId); | 1032 InjectedScript injectedScript = injectedScriptForEval(errorString, execution
ContextId); |
| 1039 if (injectedScript.isEmpty()) { | 1033 if (injectedScript.isEmpty()) { |
| 1040 *errorString = "Inspected frame has gone"; | 1034 *errorString = "Inspected frame has gone"; |
| 1041 return; | 1035 return; |
| 1042 } | 1036 } |
| 1043 | 1037 |
| 1044 ScriptDebugServer::PauseOnExceptionsState previousPauseOnExceptionsState = s
criptDebugServer().pauseOnExceptionsState(); | 1038 ScriptDebugServer::PauseOnExceptionsState previousPauseOnExceptionsState = s
criptDebugServer().pauseOnExceptionsState(); |
| 1045 if (doNotPauseOnExceptionsAndMuteConsole && *doNotPauseOnExceptionsAndMuteCo
nsole) { | 1039 if (asBool(doNotPauseOnExceptionsAndMuteConsole)) { |
| 1046 if (previousPauseOnExceptionsState != ScriptDebugServer::DontPauseOnExce
ptions) | 1040 if (previousPauseOnExceptionsState != ScriptDebugServer::DontPauseOnExce
ptions) |
| 1047 scriptDebugServer().setPauseOnExceptionsState(ScriptDebugServer::Don
tPauseOnExceptions); | 1041 scriptDebugServer().setPauseOnExceptionsState(ScriptDebugServer::Don
tPauseOnExceptions); |
| 1048 muteConsole(); | 1042 muteConsole(); |
| 1049 } | 1043 } |
| 1050 | 1044 |
| 1051 ScriptValue value; | 1045 ScriptValue value; |
| 1052 bool wasThrownValue; | 1046 bool wasThrownValue; |
| 1053 String exceptionDetailsText; | 1047 String exceptionDetailsText; |
| 1054 int lineNumberValue = 0; | 1048 int lineNumberValue = 0; |
| 1055 int columnNumberValue = 0; | 1049 int columnNumberValue = 0; |
| 1056 RefPtrWillBeRawPtr<ScriptCallStack> stackTraceValue; | 1050 RefPtrWillBeRawPtr<ScriptCallStack> stackTraceValue; |
| 1057 scriptDebugServer().runScript(injectedScript.scriptState(), scriptId, &value
, &wasThrownValue, &exceptionDetailsText, &lineNumberValue, &columnNumberValue,
&stackTraceValue); | 1051 scriptDebugServer().runScript(injectedScript.scriptState(), scriptId, &value
, &wasThrownValue, &exceptionDetailsText, &lineNumberValue, &columnNumberValue,
&stackTraceValue); |
| 1058 if (value.isEmpty()) { | 1052 if (value.isEmpty()) { |
| 1059 *errorString = "Script execution failed"; | 1053 *errorString = "Script execution failed"; |
| 1060 return; | 1054 return; |
| 1061 } | 1055 } |
| 1062 result = injectedScript.wrapObject(value, objectGroup ? *objectGroup : ""); | 1056 result = injectedScript.wrapObject(value, objectGroup ? *objectGroup : ""); |
| 1063 if (wasThrownValue) { | 1057 if (wasThrownValue) { |
| 1064 exceptionDetails = ExceptionDetails::create().setText(exceptionDetailsTe
xt); | 1058 exceptionDetails = ExceptionDetails::create().setText(exceptionDetailsTe
xt); |
| 1065 exceptionDetails->setLine(lineNumberValue); | 1059 exceptionDetails->setLine(lineNumberValue); |
| 1066 exceptionDetails->setColumn(columnNumberValue); | 1060 exceptionDetails->setColumn(columnNumberValue); |
| 1067 if (stackTraceValue && stackTraceValue->size() > 0) | 1061 if (stackTraceValue && stackTraceValue->size() > 0) |
| 1068 exceptionDetails->setStackTrace(stackTraceValue->buildInspectorArray
()); | 1062 exceptionDetails->setStackTrace(stackTraceValue->buildInspectorArray
()); |
| 1069 } | 1063 } |
| 1070 | 1064 |
| 1071 if (doNotPauseOnExceptionsAndMuteConsole && *doNotPauseOnExceptionsAndMuteCo
nsole) { | 1065 if (asBool(doNotPauseOnExceptionsAndMuteConsole)) { |
| 1072 unmuteConsole(); | 1066 unmuteConsole(); |
| 1073 if (scriptDebugServer().pauseOnExceptionsState() != previousPauseOnExcep
tionsState) | 1067 if (scriptDebugServer().pauseOnExceptionsState() != previousPauseOnExcep
tionsState) |
| 1074 scriptDebugServer().setPauseOnExceptionsState(previousPauseOnExcepti
onsState); | 1068 scriptDebugServer().setPauseOnExceptionsState(previousPauseOnExcepti
onsState); |
| 1075 } | 1069 } |
| 1076 } | 1070 } |
| 1077 | 1071 |
| 1078 void InspectorDebuggerAgent::setOverlayMessage(ErrorString*, const String*) | 1072 void InspectorDebuggerAgent::setOverlayMessage(ErrorString*, const String*) |
| 1079 { | 1073 { |
| 1080 } | 1074 } |
| 1081 | 1075 |
| (...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1436 | 1430 |
| 1437 void InspectorDebuggerAgent::trace(Visitor* visitor) | 1431 void InspectorDebuggerAgent::trace(Visitor* visitor) |
| 1438 { | 1432 { |
| 1439 visitor->trace(m_injectedScriptManager); | 1433 visitor->trace(m_injectedScriptManager); |
| 1440 visitor->trace(m_listener); | 1434 visitor->trace(m_listener); |
| 1441 InspectorBaseAgent::trace(visitor); | 1435 InspectorBaseAgent::trace(visitor); |
| 1442 } | 1436 } |
| 1443 | 1437 |
| 1444 } // namespace blink | 1438 } // namespace blink |
| 1445 | 1439 |
| OLD | NEW |