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

Side by Side Diff: third_party/WebKit/Source/platform/v8_inspector/V8DebuggerAgentImpl.cpp

Issue 1880833002: Move to protocol::Vector (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Moved hash to a String16STL.h (not yet in this repo) Created 4 years, 8 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
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 "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 456 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 467
468 ScriptBreakpoint breakpoint(lineNumber, columnNumber, ""); 468 ScriptBreakpoint breakpoint(lineNumber, columnNumber, "");
469 m_continueToLocationBreakpointId = debugger().setBreakpoint(scriptId, breakp oint, &lineNumber, &columnNumber, interstateLocationOpt.fromMaybe(false)); 469 m_continueToLocationBreakpointId = debugger().setBreakpoint(scriptId, breakp oint, &lineNumber, &columnNumber, interstateLocationOpt.fromMaybe(false));
470 resume(errorString); 470 resume(errorString);
471 } 471 }
472 472
473 void V8DebuggerAgentImpl::getBacktrace(ErrorString* errorString, OwnPtr<Array<Ca llFrame>>* callFrames, Maybe<StackTrace>* asyncStackTrace) 473 void V8DebuggerAgentImpl::getBacktrace(ErrorString* errorString, OwnPtr<Array<Ca llFrame>>* callFrames, Maybe<StackTrace>* asyncStackTrace)
474 { 474 {
475 if (!assertPaused(errorString)) 475 if (!assertPaused(errorString))
476 return; 476 return;
477 m_pausedCallFrames = debugger().currentCallFrames(); 477 m_pausedCallFrames.swap(debugger().currentCallFrames());
478 *callFrames = currentCallFrames(errorString); 478 *callFrames = currentCallFrames(errorString);
479 if (!*callFrames) 479 if (!*callFrames)
480 return; 480 return;
481 *asyncStackTrace = currentAsyncStackTrace(); 481 *asyncStackTrace = currentAsyncStackTrace();
482 } 482 }
483 483
484 bool V8DebuggerAgentImpl::isCurrentCallStackEmptyOrBlackboxed() 484 bool V8DebuggerAgentImpl::isCurrentCallStackEmptyOrBlackboxed()
485 { 485 {
486 ASSERT(enabled()); 486 ASSERT(enabled());
487 JavaScriptCallFrames callFrames = debugger().currentCallFrames(); 487 JavaScriptCallFrames callFrames = debugger().currentCallFrames();
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 if (frameOrdinal >= m_pausedCallFrames.size()) { 642 if (frameOrdinal >= m_pausedCallFrames.size()) {
643 *errorString = "Could not find call frame with given id"; 643 *errorString = "Could not find call frame with given id";
644 return; 644 return;
645 } 645 }
646 v8::Local<v8::Value> resultValue; 646 v8::Local<v8::Value> resultValue;
647 v8::Local<v8::Boolean> result; 647 v8::Local<v8::Boolean> result;
648 if (!m_pausedCallFrames[frameOrdinal].get()->restart().ToLocal(&resultValue) || tryCatch.HasCaught() || !resultValue->ToBoolean(localContext).ToLocal(&resul t) || !result->Value()) { 648 if (!m_pausedCallFrames[frameOrdinal].get()->restart().ToLocal(&resultValue) || tryCatch.HasCaught() || !resultValue->ToBoolean(localContext).ToLocal(&resul t) || !result->Value()) {
649 *errorString = "Internal error"; 649 *errorString = "Internal error";
650 return; 650 return;
651 } 651 }
652 652 m_pausedCallFrames.swap(debugger().currentCallFrames());
653 m_pausedCallFrames = debugger().currentCallFrames();
654 653
655 *newCallFrames = currentCallFrames(errorString); 654 *newCallFrames = currentCallFrames(errorString);
656 if (!*newCallFrames) 655 if (!*newCallFrames)
657 return; 656 return;
658 *asyncStackTrace = currentAsyncStackTrace(); 657 *asyncStackTrace = currentAsyncStackTrace();
659 } 658 }
660 659
661 void V8DebuggerAgentImpl::getScriptSource(ErrorString* error, const String16& sc riptId, String16* scriptSource) 660 void V8DebuggerAgentImpl::getScriptSource(ErrorString* error, const String16& sc riptId, String16* scriptSource)
662 { 661 {
663 if (!checkEnabled(error)) 662 if (!checkEnabled(error))
(...skipping 705 matching lines...) Expand 10 before | Expand all | Expand 10 after
1369 result = RequestNoSkip; 1368 result = RequestNoSkip;
1370 1369
1371 m_skipNextDebuggerStepOut = false; 1370 m_skipNextDebuggerStepOut = false;
1372 if (result != RequestNoSkip) 1371 if (result != RequestNoSkip)
1373 return result; 1372 return result;
1374 // Skip pauses inside V8 internal scripts and on syntax errors. 1373 // Skip pauses inside V8 internal scripts and on syntax errors.
1375 if (!topCallFrame) 1374 if (!topCallFrame)
1376 return RequestContinue; 1375 return RequestContinue;
1377 1376
1378 ASSERT(m_pausedContext.IsEmpty()); 1377 ASSERT(m_pausedContext.IsEmpty());
1379 callFrames = debugger().currentCallFrames(); 1378 m_pausedCallFrames.swap(debugger().currentCallFrames());
1380 m_pausedCallFrames.swap(callFrames);
1381 m_pausedContext.Reset(m_isolate, context); 1379 m_pausedContext.Reset(m_isolate, context);
1382 v8::HandleScope handles(m_isolate); 1380 v8::HandleScope handles(m_isolate);
1383 1381
1384 if (!exception.IsEmpty()) { 1382 if (!exception.IsEmpty()) {
1385 ErrorString ignored; 1383 ErrorString ignored;
1386 InjectedScript* injectedScript = m_session->findInjectedScript(&ignored, V8Debugger::contextId(context)); 1384 InjectedScript* injectedScript = m_session->findInjectedScript(&ignored, V8Debugger::contextId(context));
1387 if (injectedScript) { 1385 if (injectedScript) {
1388 m_breakReason = isPromiseRejection ? protocol::Debugger::Paused::Rea sonEnum::PromiseRejection : protocol::Debugger::Paused::ReasonEnum::Exception; 1386 m_breakReason = isPromiseRejection ? protocol::Debugger::Paused::Rea sonEnum::PromiseRejection : protocol::Debugger::Paused::ReasonEnum::Exception;
1389 ErrorString errorString; 1387 ErrorString errorString;
1390 auto obj = injectedScript->wrapObject(&errorString, exception, V8Deb uggerAgentImpl::backtraceObjectGroup); 1388 auto obj = injectedScript->wrapObject(&errorString, exception, V8Deb uggerAgentImpl::backtraceObjectGroup);
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
1489 if (!enabled()) 1487 if (!enabled())
1490 return; 1488 return;
1491 m_scheduledDebuggerStep = NoStep; 1489 m_scheduledDebuggerStep = NoStep;
1492 m_scripts.clear(); 1490 m_scripts.clear();
1493 m_blackboxedPositions.clear(); 1491 m_blackboxedPositions.clear();
1494 m_breakpointIdToDebuggerBreakpointIds.clear(); 1492 m_breakpointIdToDebuggerBreakpointIds.clear();
1495 allAsyncTasksCanceled(); 1493 allAsyncTasksCanceled();
1496 } 1494 }
1497 1495
1498 } // namespace blink 1496 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698