Index: Source/core/inspector/V8Debugger.cpp |
diff --git a/Source/core/inspector/V8Debugger.cpp b/Source/core/inspector/V8Debugger.cpp |
index 548294997ab679d3b13a5829ec2dd2c930c584bd..40e884d6a13094fc383abe687c2a1d7e810a68c0 100644 |
--- a/Source/core/inspector/V8Debugger.cpp |
+++ b/Source/core/inspector/V8Debugger.cpp |
@@ -48,6 +48,100 @@ namespace blink { |
namespace { |
const char stepIntoV8MethodName[] = "stepIntoStatement"; |
const char stepOutV8MethodName[] = "stepOutOfFunction"; |
+static const unsigned kBlackboxUnknown = 0; |
+} |
+ |
+V8Debugger::Script::Script() |
+ : m_startLine(0) |
+ , m_startColumn(0) |
+ , m_endLine(0) |
+ , m_endColumn(0) |
+ , m_isContentScript(false) |
+ , m_isBlackboxedURL(false) |
+ , m_blackboxGeneration(kBlackboxUnknown) |
+{ |
+} |
+ |
+String V8Debugger::Script::sourceURL() const |
+{ |
+ return m_sourceURL.isEmpty() ? m_url : m_sourceURL; |
+} |
+ |
+bool V8Debugger::Script::getBlackboxedState(unsigned blackboxGeneration, bool* isBlackboxed) const |
+{ |
+ if (m_blackboxGeneration == kBlackboxUnknown || m_blackboxGeneration != blackboxGeneration) |
+ return false; |
+ *isBlackboxed = m_isBlackboxedURL; |
+ return true; |
+} |
+ |
+void V8Debugger::Script::setBlackboxedState(unsigned blackboxGeneration, bool isBlackboxed) |
+{ |
+ ASSERT(blackboxGeneration); |
+ m_isBlackboxedURL = isBlackboxed; |
+ m_blackboxGeneration = blackboxGeneration; |
+} |
+ |
+V8Debugger::Script& V8Debugger::Script::setURL(const String& url) |
+{ |
+ m_url = url; |
+ m_blackboxGeneration = kBlackboxUnknown; |
+ return *this; |
+} |
+ |
+V8Debugger::Script& V8Debugger::Script::setSourceURL(const String& sourceURL) |
+{ |
+ m_sourceURL = sourceURL; |
+ m_blackboxGeneration = kBlackboxUnknown; |
+ return *this; |
+} |
+ |
+V8Debugger::Script& V8Debugger::Script::setSourceMappingURL(const String& sourceMappingURL) |
+{ |
+ m_sourceMappingURL = sourceMappingURL; |
+ return *this; |
+} |
+ |
+V8Debugger::Script& V8Debugger::Script::setSource(const String& source) |
+{ |
+ m_source = source; |
+ return *this; |
+} |
+ |
+V8Debugger::Script& V8Debugger::Script::setStartLine(int startLine) |
+{ |
+ m_startLine = startLine; |
+ return *this; |
+} |
+ |
+V8Debugger::Script& V8Debugger::Script::setStartColumn(int startColumn) |
+{ |
+ m_startColumn = startColumn; |
+ return *this; |
+} |
+ |
+V8Debugger::Script& V8Debugger::Script::setEndLine(int endLine) |
+{ |
+ m_endLine = endLine; |
+ return *this; |
+} |
+ |
+V8Debugger::Script& V8Debugger::Script::setEndColumn(int endColumn) |
+{ |
+ m_endColumn = endColumn; |
+ return *this; |
+} |
+ |
+V8Debugger::Script& V8Debugger::Script::setIsContentScript(bool isContentScript) |
+{ |
+ m_isContentScript = isContentScript; |
+ return *this; |
+} |
+ |
+V8Debugger::Script& V8Debugger::Script::setIsInternalScript(bool isInternalScript) |
+{ |
+ m_isInternalScript = isInternalScript; |
+ return *this; |
} |
v8::MaybeLocal<v8::Value> V8Debugger::callDebuggerMethod(const char* functionName, int argc, v8::Local<v8::Value> argv[]) |
@@ -106,7 +200,7 @@ void V8Debugger::setContextDebugData(v8::Local<v8::Context> context, const Strin |
context->SetEmbedderData(static_cast<int>(gin::kDebugIdIndex), v8String(context->GetIsolate(), contextDebugData)); |
} |
-void V8Debugger::getCompiledScripts(const String& contextDebugDataSubstring, Vector<ScriptDebugListener::ParsedScript>& result) |
+void V8Debugger::getCompiledScripts(const String& contextDebugDataSubstring, Vector<ParsedScript>& result) |
{ |
v8::HandleScope scope(m_isolate); |
v8::Context::Scope contextScope(debuggerContext()); |
@@ -502,8 +596,8 @@ void V8Debugger::handleProgramBreak(ScriptState* pausedScriptState, v8::Local<v8 |
m_pausedScriptState = pausedScriptState; |
m_executionState = executionState; |
- ScriptDebugListener::SkipPauseRequest result = listener->didPause(pausedScriptState, currentCallFrames(), ScriptValue(pausedScriptState, exception), breakpointIds, isPromiseRejection); |
- if (result == ScriptDebugListener::NoSkip) { |
+ SkipPauseRequest result = listener->didPause(pausedScriptState, currentCallFrames(), ScriptValue(pausedScriptState, exception), breakpointIds, isPromiseRejection); |
+ if (result == NoSkip) { |
m_runningNestedMessageLoop = true; |
m_client->runMessageLoopOnPause(pausedScriptState->context()); |
m_runningNestedMessageLoop = false; |
@@ -511,13 +605,13 @@ void V8Debugger::handleProgramBreak(ScriptState* pausedScriptState, v8::Local<v8 |
m_pausedScriptState.clear(); |
m_executionState.Clear(); |
- if (result == ScriptDebugListener::StepFrame) { |
+ if (result == StepFrame) { |
v8::Local<v8::Value> argv[] = { executionState }; |
callDebuggerMethod("stepFrameStatement", 1, argv); |
- } else if (result == ScriptDebugListener::StepInto) { |
+ } else if (result == StepInto) { |
v8::Local<v8::Value> argv[] = { executionState }; |
callDebuggerMethod(stepIntoV8MethodName, 1, argv); |
- } else if (result == ScriptDebugListener::StepOut) { |
+ } else if (result == StepOut) { |
v8::Local<v8::Value> argv[] = { executionState }; |
callDebuggerMethod(stepOutV8MethodName, 1, argv); |
} |
@@ -608,12 +702,12 @@ void V8Debugger::handleV8PromiseEvent(ScriptDebugListener* listener, ScriptState |
m_executionState.Clear(); |
} |
-ScriptDebugListener::ParsedScript V8Debugger::createParsedScript(v8::Local<v8::Object> object, CompileResult compileResult) |
+V8Debugger::ParsedScript V8Debugger::createParsedScript(v8::Local<v8::Object> object, CompileResult compileResult) |
{ |
v8::Local<v8::Value> id = object->Get(v8InternalizedString("id")); |
ASSERT(!id.IsEmpty() && id->IsInt32()); |
- ScriptDebugListener::ParsedScript parsedScript; |
+ ParsedScript parsedScript; |
parsedScript.scriptId = String::number(id->Int32Value()); |
parsedScript.script.setURL(toCoreStringWithUndefinedOrNullCheck(object->Get(v8InternalizedString("name")))) |
.setSourceURL(toCoreStringWithUndefinedOrNullCheck(object->Get(v8InternalizedString("sourceURL")))) |