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

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

Issue 1224553008: [DevTools] Move Script and enums from ScriptDebugListener to V8Debugger. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 5 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 | Annotate | Revision Log
OLDNEW
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 508 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 String scriptURL = it->value.sourceURL(); 519 String scriptURL = it->value.sourceURL();
520 if (m_cachedSkipStackRegExp && !scriptURL.isEmpty()) { 520 if (m_cachedSkipStackRegExp && !scriptURL.isEmpty()) {
521 if (!it->value.getBlackboxedState(m_cachedSkipStackGeneration, &isBlackb oxed)) { 521 if (!it->value.getBlackboxedState(m_cachedSkipStackGeneration, &isBlackb oxed)) {
522 isBlackboxed = m_cachedSkipStackRegExp->match(scriptURL) != -1; 522 isBlackboxed = m_cachedSkipStackRegExp->match(scriptURL) != -1;
523 it->value.setBlackboxedState(m_cachedSkipStackGeneration, isBlackbox ed); 523 it->value.setBlackboxedState(m_cachedSkipStackGeneration, isBlackbox ed);
524 } 524 }
525 } 525 }
526 return isBlackboxed; 526 return isBlackboxed;
527 } 527 }
528 528
529 ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipExceptio nPause() 529 V8Debugger::SkipPauseRequest InspectorDebuggerAgent::shouldSkipExceptionPause()
530 { 530 {
531 if (m_steppingFromFramework) 531 if (m_steppingFromFramework)
532 return ScriptDebugListener::NoSkip; 532 return V8Debugger::NoSkip;
533 if (isTopCallFrameBlackboxed()) 533 if (isTopCallFrameBlackboxed())
534 return ScriptDebugListener::Continue; 534 return V8Debugger::Continue;
535 return ScriptDebugListener::NoSkip; 535 return V8Debugger::NoSkip;
536 } 536 }
537 537
538 ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipStepPaus e() 538 V8Debugger::SkipPauseRequest InspectorDebuggerAgent::shouldSkipStepPause()
539 { 539 {
540 if (m_steppingFromFramework) 540 if (m_steppingFromFramework)
541 return ScriptDebugListener::NoSkip; 541 return V8Debugger::NoSkip;
542 542
543 if (m_skipNextDebuggerStepOut) { 543 if (m_skipNextDebuggerStepOut) {
544 m_skipNextDebuggerStepOut = false; 544 m_skipNextDebuggerStepOut = false;
545 if (m_scheduledDebuggerStep == StepOut) 545 if (m_scheduledDebuggerStep == StepOut)
546 return ScriptDebugListener::StepOut; 546 return V8Debugger::StepOut;
547 } 547 }
548 548
549 if (!isTopCallFrameBlackboxed()) 549 if (!isTopCallFrameBlackboxed())
550 return ScriptDebugListener::NoSkip; 550 return V8Debugger::NoSkip;
551 551
552 if (m_skippedStepFrameCount >= maxSkipStepFrameCount) 552 if (m_skippedStepFrameCount >= maxSkipStepFrameCount)
553 return ScriptDebugListener::StepOut; 553 return V8Debugger::StepOut;
554 554
555 if (!m_skippedStepFrameCount) 555 if (!m_skippedStepFrameCount)
556 m_recursionLevelForStepFrame = 1; 556 m_recursionLevelForStepFrame = 1;
557 557
558 ++m_skippedStepFrameCount; 558 ++m_skippedStepFrameCount;
559 return ScriptDebugListener::StepFrame; 559 return V8Debugger::StepFrame;
560 } 560 }
561 561
562 PassRefPtr<TypeBuilder::Debugger::Location> InspectorDebuggerAgent::resolveBreak point(const String& breakpointId, const String& scriptId, const ScriptBreakpoint & breakpoint, BreakpointSource source) 562 PassRefPtr<TypeBuilder::Debugger::Location> InspectorDebuggerAgent::resolveBreak point(const String& breakpointId, const String& scriptId, const ScriptBreakpoint & breakpoint, BreakpointSource source)
563 { 563 {
564 ASSERT(enabled()); 564 ASSERT(enabled());
565 if (breakpointId.isEmpty()) { 565 if (breakpointId.isEmpty()) {
566 ASSERT_NOT_REACHED(); 566 ASSERT_NOT_REACHED();
567 return nullptr; 567 return nullptr;
568 } 568 }
569 ScriptsMap::iterator scriptIterator = m_scripts.find(scriptId); 569 ScriptsMap::iterator scriptIterator = m_scripts.find(scriptId);
570 if (scriptIterator == m_scripts.end()) 570 if (scriptIterator == m_scripts.end())
571 return nullptr; 571 return nullptr;
572 Script& script = scriptIterator->value; 572 V8Debugger::Script& script = scriptIterator->value;
573 if (breakpoint.lineNumber < script.startLine() || script.endLine() < breakpo int.lineNumber) 573 if (breakpoint.lineNumber < script.startLine() || script.endLine() < breakpo int.lineNumber)
574 return nullptr; 574 return nullptr;
575 575
576 int actualLineNumber; 576 int actualLineNumber;
577 int actualColumnNumber; 577 int actualColumnNumber;
578 String debuggerBreakpointId = debugger().setBreakpoint(scriptId, breakpoint, &actualLineNumber, &actualColumnNumber, false); 578 String debuggerBreakpointId = debugger().setBreakpoint(scriptId, breakpoint, &actualLineNumber, &actualColumnNumber, false);
579 if (debuggerBreakpointId.isEmpty()) 579 if (debuggerBreakpointId.isEmpty())
580 return nullptr; 580 return nullptr;
581 581
582 m_serverBreakpoints.set(debuggerBreakpointId, std::make_pair(breakpointId, s ource)); 582 m_serverBreakpoints.set(debuggerBreakpointId, std::make_pair(breakpointId, s ource));
(...skipping 874 matching lines...) Expand 10 before | Expand all | Expand 10 after
1457 RefPtrWillBeRawPtr<ScriptAsyncCallStack> result = nullptr; 1457 RefPtrWillBeRawPtr<ScriptAsyncCallStack> result = nullptr;
1458 for (AsyncCallStackVector::const_reverse_iterator it = callStacks.rbegin(); it != callStacks.rend(); ++it) { 1458 for (AsyncCallStackVector::const_reverse_iterator it = callStacks.rbegin(); it != callStacks.rend(); ++it) {
1459 RefPtr<JavaScriptCallFrame> callFrame = V8Debugger::toJavaScriptCallFram eUnsafe((*it)->callFrames()); 1459 RefPtr<JavaScriptCallFrame> callFrame = V8Debugger::toJavaScriptCallFram eUnsafe((*it)->callFrames());
1460 if (!callFrame) 1460 if (!callFrame)
1461 break; 1461 break;
1462 result = ScriptAsyncCallStack::create((*it)->description(), toScriptCall Stack(callFrame.get()), result.release()); 1462 result = ScriptAsyncCallStack::create((*it)->description(), toScriptCall Stack(callFrame.get()), result.release());
1463 } 1463 }
1464 return result.release(); 1464 return result.release();
1465 } 1465 }
1466 1466
1467 String InspectorDebuggerAgent::sourceMapURLForScript(const Script& script, Compi leResult compileResult) 1467 String InspectorDebuggerAgent::sourceMapURLForScript(const V8Debugger::Script& s cript, V8Debugger::CompileResult compileResult)
1468 { 1468 {
1469 bool hasSyntaxError = compileResult != CompileSuccess; 1469 bool hasSyntaxError = compileResult != V8Debugger::CompileSuccess;
1470 if (!hasSyntaxError) 1470 if (!hasSyntaxError)
1471 return script.sourceMappingURL(); 1471 return script.sourceMappingURL();
1472 return ContentSearchUtils::findSourceMapURL(script.source(), ContentSearchUt ils::JavaScriptMagicComment); 1472 return ContentSearchUtils::findSourceMapURL(script.source(), ContentSearchUt ils::JavaScriptMagicComment);
1473 } 1473 }
1474 1474
1475 // ScriptDebugListener functions 1475 // ScriptDebugListener functions
1476 1476
1477 void InspectorDebuggerAgent::didParseSource(const ParsedScript& parsedScript) 1477 void InspectorDebuggerAgent::didParseSource(const V8Debugger::ParsedScript& pars edScript)
1478 { 1478 {
1479 Script script = parsedScript.script; 1479 V8Debugger::Script script = parsedScript.script;
1480 1480
1481 bool hasSyntaxError = parsedScript.compileResult != CompileSuccess; 1481 bool hasSyntaxError = parsedScript.compileResult != V8Debugger::CompileSucce ss;
1482 if (hasSyntaxError) 1482 if (hasSyntaxError)
1483 script.setSourceURL(ContentSearchUtils::findSourceURL(script.source(), C ontentSearchUtils::JavaScriptMagicComment)); 1483 script.setSourceURL(ContentSearchUtils::findSourceURL(script.source(), C ontentSearchUtils::JavaScriptMagicComment));
1484 1484
1485 bool isContentScript = script.isContentScript(); 1485 bool isContentScript = script.isContentScript();
1486 bool isInternalScript = script.isInternalScript(); 1486 bool isInternalScript = script.isInternalScript();
1487 bool hasSourceURL = script.hasSourceURL(); 1487 bool hasSourceURL = script.hasSourceURL();
1488 String scriptURL = script.sourceURL(); 1488 String scriptURL = script.sourceURL();
1489 String sourceMapURL = sourceMapURLForScript(script, parsedScript.compileResu lt); 1489 String sourceMapURL = sourceMapURLForScript(script, parsedScript.compileResu lt);
1490 1490
1491 const String* sourceMapURLParam = sourceMapURL.isNull() ? nullptr : &sourceM apURL; 1491 const String* sourceMapURLParam = sourceMapURL.isNull() ? nullptr : &sourceM apURL;
(...skipping 22 matching lines...) Expand all
1514 ScriptBreakpoint breakpoint; 1514 ScriptBreakpoint breakpoint;
1515 breakpointObject->getNumber(DebuggerAgentState::lineNumber, &breakpoint. lineNumber); 1515 breakpointObject->getNumber(DebuggerAgentState::lineNumber, &breakpoint. lineNumber);
1516 breakpointObject->getNumber(DebuggerAgentState::columnNumber, &breakpoin t.columnNumber); 1516 breakpointObject->getNumber(DebuggerAgentState::columnNumber, &breakpoin t.columnNumber);
1517 breakpointObject->getString(DebuggerAgentState::condition, &breakpoint.c ondition); 1517 breakpointObject->getString(DebuggerAgentState::condition, &breakpoint.c ondition);
1518 RefPtr<TypeBuilder::Debugger::Location> location = resolveBreakpoint(coo kie.key, parsedScript.scriptId, breakpoint, UserBreakpointSource); 1518 RefPtr<TypeBuilder::Debugger::Location> location = resolveBreakpoint(coo kie.key, parsedScript.scriptId, breakpoint, UserBreakpointSource);
1519 if (location) 1519 if (location)
1520 frontend()->breakpointResolved(cookie.key, location); 1520 frontend()->breakpointResolved(cookie.key, location);
1521 } 1521 }
1522 } 1522 }
1523 1523
1524 ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::didPause(ScriptSta te* scriptState, const ScriptValue& callFrames, const ScriptValue& exception, co nst Vector<String>& hitBreakpoints, bool isPromiseRejection) 1524 V8Debugger::SkipPauseRequest InspectorDebuggerAgent::didPause(ScriptState* scrip tState, const ScriptValue& callFrames, const ScriptValue& exception, const Vecto r<String>& hitBreakpoints, bool isPromiseRejection)
1525 { 1525 {
1526 ScriptDebugListener::SkipPauseRequest result; 1526 V8Debugger::SkipPauseRequest result;
1527 if (m_skipAllPauses) 1527 if (m_skipAllPauses)
1528 result = ScriptDebugListener::Continue; 1528 result = V8Debugger::Continue;
1529 else if (!hitBreakpoints.isEmpty()) 1529 else if (!hitBreakpoints.isEmpty())
1530 result = ScriptDebugListener::NoSkip; // Don't skip explicit breakpoints even if set in frameworks. 1530 result = V8Debugger::NoSkip; // Don't skip explicit breakpoints even if set in frameworks.
1531 else if (!exception.isEmpty()) 1531 else if (!exception.isEmpty())
1532 result = shouldSkipExceptionPause(); 1532 result = shouldSkipExceptionPause();
1533 else if (m_scheduledDebuggerStep != NoStep || m_javaScriptPauseScheduled || m_pausingOnNativeEvent) 1533 else if (m_scheduledDebuggerStep != NoStep || m_javaScriptPauseScheduled || m_pausingOnNativeEvent)
1534 result = shouldSkipStepPause(); 1534 result = shouldSkipStepPause();
1535 else 1535 else
1536 result = ScriptDebugListener::NoSkip; 1536 result = V8Debugger::NoSkip;
1537 1537
1538 m_skipNextDebuggerStepOut = false; 1538 m_skipNextDebuggerStepOut = false;
1539 if (result != ScriptDebugListener::NoSkip) 1539 if (result != V8Debugger::NoSkip)
1540 return result; 1540 return result;
1541 1541
1542 // Skip pauses inside V8 internal scripts and on syntax errors. 1542 // Skip pauses inside V8 internal scripts and on syntax errors.
1543 if (callFrames.isEmpty()) 1543 if (callFrames.isEmpty())
1544 return ScriptDebugListener::Continue; 1544 return V8Debugger::Continue;
1545 1545
1546 ASSERT(scriptState); 1546 ASSERT(scriptState);
1547 ASSERT(!m_pausedScriptState); 1547 ASSERT(!m_pausedScriptState);
1548 m_pausedScriptState = scriptState; 1548 m_pausedScriptState = scriptState;
1549 m_currentCallStack = callFrames; 1549 m_currentCallStack = callFrames;
1550 1550
1551 if (!exception.isEmpty()) { 1551 if (!exception.isEmpty()) {
1552 InjectedScript injectedScript = m_injectedScriptManager->injectedScriptF or(scriptState); 1552 InjectedScript injectedScript = m_injectedScriptManager->injectedScriptF or(scriptState);
1553 if (!injectedScript.isEmpty()) { 1553 if (!injectedScript.isEmpty()) {
1554 m_breakReason = isPromiseRejection ? InspectorFrontend::Debugger::Re ason::PromiseRejection : InspectorFrontend::Debugger::Reason::Exception; 1554 m_breakReason = isPromiseRejection ? InspectorFrontend::Debugger::Re ason::PromiseRejection : InspectorFrontend::Debugger::Reason::Exception;
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
1712 RefPtr<ExceptionDetails> exceptionDetails = ExceptionDetails::create().setTe xt(toCoreStringWithUndefinedOrNullCheck(message->Get())); 1712 RefPtr<ExceptionDetails> exceptionDetails = ExceptionDetails::create().setTe xt(toCoreStringWithUndefinedOrNullCheck(message->Get()));
1713 exceptionDetails->setLine(message->GetLineNumber()); 1713 exceptionDetails->setLine(message->GetLineNumber());
1714 exceptionDetails->setColumn(message->GetStartColumn()); 1714 exceptionDetails->setColumn(message->GetStartColumn());
1715 v8::Local<v8::StackTrace> messageStackTrace = message->GetStackTrace(); 1715 v8::Local<v8::StackTrace> messageStackTrace = message->GetStackTrace();
1716 if (!messageStackTrace.IsEmpty() && messageStackTrace->GetFrameCount() > 0) 1716 if (!messageStackTrace.IsEmpty() && messageStackTrace->GetFrameCount() > 0)
1717 exceptionDetails->setStackTrace(createScriptCallStack(isolate, messageSt ackTrace, messageStackTrace->GetFrameCount())->buildInspectorArray()); 1717 exceptionDetails->setStackTrace(createScriptCallStack(isolate, messageSt ackTrace, messageStackTrace->GetFrameCount())->buildInspectorArray());
1718 return exceptionDetails.release(); 1718 return exceptionDetails.release();
1719 } 1719 }
1720 1720
1721 } // namespace blink 1721 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698