| OLD | NEW |
| 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 "platform/v8_inspector/V8DebuggerAgentImpl.h" | 5 #include "platform/v8_inspector/V8DebuggerAgentImpl.h" |
| 6 | 6 |
| 7 #include "platform/inspector_protocol/String16.h" | 7 #include "platform/inspector_protocol/String16.h" |
| 8 #include "platform/inspector_protocol/Values.h" | 8 #include "platform/inspector_protocol/Values.h" |
| 9 #include "platform/v8_inspector/IgnoreExceptionsScope.h" | 9 #include "platform/v8_inspector/IgnoreExceptionsScope.h" |
| 10 #include "platform/v8_inspector/InjectedScript.h" | 10 #include "platform/v8_inspector/InjectedScript.h" |
| (...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 471 int columnNumber; | 471 int columnNumber; |
| 472 | 472 |
| 473 if (!parseLocation(errorString, location, &scriptId, &lineNumber, &columnNum
ber)) | 473 if (!parseLocation(errorString, location, &scriptId, &lineNumber, &columnNum
ber)) |
| 474 return; | 474 return; |
| 475 | 475 |
| 476 ScriptBreakpoint breakpoint(lineNumber, columnNumber, ""); | 476 ScriptBreakpoint breakpoint(lineNumber, columnNumber, ""); |
| 477 m_continueToLocationBreakpointId = debugger().setBreakpoint(scriptId, breakp
oint, &lineNumber, &columnNumber, interstateLocationOpt.fromMaybe(false)); | 477 m_continueToLocationBreakpointId = debugger().setBreakpoint(scriptId, breakp
oint, &lineNumber, &columnNumber, interstateLocationOpt.fromMaybe(false)); |
| 478 resume(errorString); | 478 resume(errorString); |
| 479 } | 479 } |
| 480 | 480 |
| 481 void V8DebuggerAgentImpl::getStepInPositions(ErrorString* errorString, const Str
ing16& callFrameId, Maybe<Array<protocol::Debugger::Location>>* positions) | |
| 482 { | |
| 483 if (!isPaused() || m_currentCallStack.IsEmpty()) { | |
| 484 *errorString = "Attempt to access callframe when debugger is not on paus
e"; | |
| 485 return; | |
| 486 } | |
| 487 OwnPtr<RemoteCallFrameId> remoteId = RemoteCallFrameId::parse(callFrameId); | |
| 488 if (!remoteId) { | |
| 489 *errorString = "Invalid call frame id"; | |
| 490 return; | |
| 491 } | |
| 492 InjectedScript* injectedScript = m_injectedScriptManager->findInjectedScript
(remoteId.get()); | |
| 493 if (!injectedScript) { | |
| 494 *errorString = "Inspected frame has gone"; | |
| 495 return; | |
| 496 } | |
| 497 | |
| 498 v8::HandleScope scope(m_isolate); | |
| 499 v8::Local<v8::Object> callStack = m_currentCallStack.Get(m_isolate); | |
| 500 injectedScript->getStepInPositions(errorString, callStack, callFrameId, posi
tions); | |
| 501 } | |
| 502 | |
| 503 void V8DebuggerAgentImpl::getBacktrace(ErrorString* errorString, OwnPtr<Array<Ca
llFrame>>* callFrames, Maybe<StackTrace>* asyncStackTrace) | 481 void V8DebuggerAgentImpl::getBacktrace(ErrorString* errorString, OwnPtr<Array<Ca
llFrame>>* callFrames, Maybe<StackTrace>* asyncStackTrace) |
| 504 { | 482 { |
| 505 if (!assertPaused(errorString)) | 483 if (!assertPaused(errorString)) |
| 506 return; | 484 return; |
| 507 m_currentCallStack.Reset(m_isolate, debugger().currentCallFrames()); | 485 m_currentCallStack.Reset(m_isolate, debugger().currentCallFrames()); |
| 508 *callFrames = currentCallFrames(); | 486 *callFrames = currentCallFrames(); |
| 509 *asyncStackTrace = currentAsyncStackTrace(); | 487 *asyncStackTrace = currentAsyncStackTrace(); |
| 510 } | 488 } |
| 511 | 489 |
| 512 bool V8DebuggerAgentImpl::isCallStackEmptyOrBlackboxed() | 490 bool V8DebuggerAgentImpl::isCallStackEmptyOrBlackboxed() |
| (...skipping 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1551 m_scripts.clear(); | 1529 m_scripts.clear(); |
| 1552 m_blackboxedPositions.clear(); | 1530 m_blackboxedPositions.clear(); |
| 1553 m_breakpointIdToDebuggerBreakpointIds.clear(); | 1531 m_breakpointIdToDebuggerBreakpointIds.clear(); |
| 1554 resetAsyncCallTracker(); | 1532 resetAsyncCallTracker(); |
| 1555 m_promiseTracker->clear(); | 1533 m_promiseTracker->clear(); |
| 1556 if (m_frontend) | 1534 if (m_frontend) |
| 1557 m_frontend->globalObjectCleared(); | 1535 m_frontend->globalObjectCleared(); |
| 1558 } | 1536 } |
| 1559 | 1537 |
| 1560 } // namespace blink | 1538 } // namespace blink |
| OLD | NEW |