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

Unified Diff: third_party/WebKit/Source/core/inspector/v8/V8DebuggerImpl.cpp

Issue 1650283002: DevTools: remove DOM and Bindings dependencies from inspector/v8. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: for landing Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/inspector/v8/V8DebuggerImpl.cpp
diff --git a/third_party/WebKit/Source/core/inspector/v8/V8DebuggerImpl.cpp b/third_party/WebKit/Source/core/inspector/v8/V8DebuggerImpl.cpp
index 09314d12c568b96b49361c402d48c994ec12f00d..87bbfb31c63603fb58f613a43286a34a157f3fd1 100644
--- a/third_party/WebKit/Source/core/inspector/v8/V8DebuggerImpl.cpp
+++ b/third_party/WebKit/Source/core/inspector/v8/V8DebuggerImpl.cpp
@@ -30,12 +30,12 @@
#include "core/inspector/v8/V8DebuggerImpl.h"
-#include "bindings/core/v8/V8Binding.h"
#include "core/inspector/v8/JavaScriptCallFrame.h"
#include "core/inspector/v8/ScriptBreakpoint.h"
#include "core/inspector/v8/V8DebuggerAgentImpl.h"
#include "core/inspector/v8/V8DebuggerClient.h"
#include "core/inspector/v8/V8JavaScriptCallFrame.h"
+#include "core/inspector/v8/V8StringUtil.h"
#include "platform/JSONValues.h"
#include "public/platform/Platform.h"
#include "public/platform/WebData.h"
@@ -49,6 +49,12 @@ namespace {
const char stepIntoV8MethodName[] = "stepIntoStatement";
const char stepOutV8MethodName[] = "stepOutOfFunction";
volatile int s_lastContextId = 0;
+
+inline v8::Local<v8::Boolean> v8Boolean(bool value, v8::Isolate* isolate)
+{
+ return value ? v8::True(isolate) : v8::False(isolate);
+}
+
}
static bool inLiveEditScope = false;
@@ -109,7 +115,7 @@ void V8Debugger::setContextDebugData(v8::Local<v8::Context> context, const Strin
String debugData = String::number(contextGroupId) + "," + String::number(contextId) + "," + type;
v8::HandleScope scope(context->GetIsolate());
v8::Context::Scope contextScope(context);
- context->SetEmbedderData(static_cast<int>(v8::Context::kDebugIdIndex), v8String(context->GetIsolate(), debugData));
+ context->SetEmbedderData(static_cast<int>(v8::Context::kDebugIdIndex), toV8String(context->GetIsolate(), debugData));
}
int V8Debugger::contextId(v8::Local<v8::Context> context)
@@ -117,7 +123,7 @@ int V8Debugger::contextId(v8::Local<v8::Context> context)
v8::Local<v8::Value> data = context->GetEmbedderData(static_cast<int>(v8::Context::kDebugIdIndex));
if (data.IsEmpty() || !data->IsString())
return 0;
- String dataString = toCoreString(data.As<v8::String>());
+ String dataString = toWTFString(data.As<v8::String>());
if (dataString.isEmpty())
return 0;
size_t commaPos = dataString.find(",");
@@ -134,7 +140,7 @@ static int getGroupId(v8::Local<v8::Context> context)
v8::Local<v8::Value> data = context->GetEmbedderData(static_cast<int>(v8::Context::kDebugIdIndex));
if (data.IsEmpty() || !data->IsString())
return 0;
- String dataString = toCoreString(data.As<v8::String>());
+ String dataString = toWTFString(data.As<v8::String>());
if (dataString.isEmpty())
return 0;
size_t commaPos = dataString.find(",");
@@ -205,19 +211,19 @@ String V8DebuggerImpl::setBreakpoint(const String& sourceID, const ScriptBreakpo
v8::Context::Scope contextScope(debuggerContext());
v8::Local<v8::Object> info = v8::Object::New(m_isolate);
- info->Set(v8InternalizedString("sourceID"), v8String(m_isolate, sourceID));
+ info->Set(v8InternalizedString("sourceID"), toV8String(m_isolate, sourceID));
info->Set(v8InternalizedString("lineNumber"), v8::Integer::New(m_isolate, scriptBreakpoint.lineNumber));
info->Set(v8InternalizedString("columnNumber"), v8::Integer::New(m_isolate, scriptBreakpoint.columnNumber));
info->Set(v8InternalizedString("interstatementLocation"), v8Boolean(interstatementLocation, m_isolate));
- info->Set(v8InternalizedString("condition"), v8String(m_isolate, scriptBreakpoint.condition));
+ info->Set(v8InternalizedString("condition"), toV8String(m_isolate, scriptBreakpoint.condition));
v8::Local<v8::Function> setBreakpointFunction = v8::Local<v8::Function>::Cast(m_debuggerScript.Get(m_isolate)->Get(v8InternalizedString("setBreakpoint")));
- v8::Local<v8::Value> breakpointId = v8CallOrCrash(v8::Debug::Call(debuggerContext(), setBreakpointFunction, info));
+ v8::Local<v8::Value> breakpointId = v8::Debug::Call(debuggerContext(), setBreakpointFunction, info).ToLocalChecked();
if (!breakpointId->IsString())
return "";
*actualLineNumber = info->Get(v8InternalizedString("lineNumber"))->Int32Value();
*actualColumnNumber = info->Get(v8InternalizedString("columnNumber"))->Int32Value();
- return toCoreString(breakpointId.As<v8::String>());
+ return toWTFString(breakpointId.As<v8::String>());
}
void V8DebuggerImpl::removeBreakpoint(const String& breakpointId)
@@ -226,10 +232,10 @@ void V8DebuggerImpl::removeBreakpoint(const String& breakpointId)
v8::Context::Scope contextScope(debuggerContext());
v8::Local<v8::Object> info = v8::Object::New(m_isolate);
- info->Set(v8InternalizedString("breakpointId"), v8String(m_isolate, breakpointId));
+ info->Set(v8InternalizedString("breakpointId"), toV8String(m_isolate, breakpointId));
v8::Local<v8::Function> removeBreakpointFunction = v8::Local<v8::Function>::Cast(m_debuggerScript.Get(m_isolate)->Get(v8InternalizedString("removeBreakpoint")));
- v8CallOrCrash(v8::Debug::Call(debuggerContext(), removeBreakpointFunction, info));
+ v8::Debug::Call(debuggerContext(), removeBreakpointFunction, info).ToLocalChecked();
}
void V8DebuggerImpl::clearBreakpoints()
@@ -238,7 +244,7 @@ void V8DebuggerImpl::clearBreakpoints()
v8::Context::Scope contextScope(debuggerContext());
v8::Local<v8::Function> clearBreakpoints = v8::Local<v8::Function>::Cast(m_debuggerScript.Get(m_isolate)->Get(v8InternalizedString("clearBreakpoints")));
- v8CallOrCrash(v8::Debug::Call(debuggerContext(), clearBreakpoints));
+ v8::Debug::Call(debuggerContext(), clearBreakpoints).ToLocalChecked();
}
void V8DebuggerImpl::setBreakpointsActivated(bool activated)
@@ -253,7 +259,7 @@ void V8DebuggerImpl::setBreakpointsActivated(bool activated)
v8::Local<v8::Object> info = v8::Object::New(m_isolate);
info->Set(v8InternalizedString("enabled"), v8::Boolean::New(m_isolate, activated));
v8::Local<v8::Function> setBreakpointsActivated = v8::Local<v8::Function>::Cast(m_debuggerScript.Get(m_isolate)->Get(v8InternalizedString("setBreakpointsActivated")));
- v8CallOrCrash(v8::Debug::Call(debuggerContext(), setBreakpointsActivated, info));
+ v8::Debug::Call(debuggerContext(), setBreakpointsActivated, info).ToLocalChecked();
m_breakpointsActivated = activated;
}
@@ -264,7 +270,7 @@ V8DebuggerImpl::PauseOnExceptionsState V8DebuggerImpl::pauseOnExceptionsState()
v8::HandleScope scope(m_isolate);
v8::Context::Scope contextScope(debuggerContext());
- v8::Local<v8::Value> argv[] = { v8Undefined() };
+ v8::Local<v8::Value> argv[] = { v8::Undefined(m_isolate) };
v8::Local<v8::Value> result = callDebuggerMethod("pauseOnExceptionsState", 0, argv).ToLocalChecked();
return static_cast<V8DebuggerImpl::PauseOnExceptionsState>(result->Int32Value());
}
@@ -321,7 +327,7 @@ void V8DebuggerImpl::breakProgram()
}
v8::Local<v8::Function> breakProgramFunction = v8::Local<v8::FunctionTemplate>::New(m_isolate, m_breakProgramCallbackTemplate)->GetFunction();
- v8CallOrCrash(v8::Debug::Call(debuggerContext(), breakProgramFunction));
+ v8::Debug::Call(debuggerContext(), breakProgramFunction).ToLocalChecked();
}
void V8DebuggerImpl::continueProgram()
@@ -368,7 +374,7 @@ void V8DebuggerImpl::clearStepping()
v8::HandleScope scope(m_isolate);
v8::Context::Scope contextScope(debuggerContext());
- v8::Local<v8::Value> argv[] = { v8Undefined() };
+ v8::Local<v8::Value> argv[] = { v8::Undefined(m_isolate) };
callDebuggerMethod("clearStepping", 0, argv);
}
@@ -397,7 +403,7 @@ bool V8DebuggerImpl::setScriptSource(const String& sourceID, const String& newCo
if (!isPaused())
contextScope = adoptPtr(new v8::Context::Scope(debuggerContext()));
- v8::Local<v8::Value> argv[] = { v8String(m_isolate, sourceID), v8String(m_isolate, newContent), v8Boolean(preview, m_isolate) };
+ v8::Local<v8::Value> argv[] = { toV8String(m_isolate, sourceID), toV8String(m_isolate, newContent), v8Boolean(preview, m_isolate) };
v8::Local<v8::Value> v8result;
{
@@ -408,7 +414,7 @@ bool V8DebuggerImpl::setScriptSource(const String& sourceID, const String& newCo
if (tryCatch.HasCaught()) {
v8::Local<v8::Message> message = tryCatch.Message();
if (!message.IsEmpty())
- *error = toCoreStringWithUndefinedOrNullCheck(message->Get());
+ *error = toWTFStringWithTypeCheck(message->Get());
else
*error = "Unknown error.";
return false;
@@ -432,11 +438,11 @@ bool V8DebuggerImpl::setScriptSource(const String& sourceID, const String& newCo
{
RefPtr<TypeBuilder::Debugger::SetScriptSourceError::CompileError> compileError =
TypeBuilder::Debugger::SetScriptSourceError::CompileError::create()
- .setMessage(toCoreStringWithUndefinedOrNullCheck(resultTuple->Get(2)))
+ .setMessage(toWTFStringWithTypeCheck(resultTuple->Get(2)))
.setLineNumber(resultTuple->Get(3)->ToInteger(m_isolate)->Value())
.setColumnNumber(resultTuple->Get(4)->ToInteger(m_isolate)->Value());
- *error = toCoreStringWithUndefinedOrNullCheck(resultTuple->Get(1));
+ *error = toWTFStringWithTypeCheck(resultTuple->Get(1));
errorData = TypeBuilder::Debugger::SetScriptSourceError::create();
errorData->setCompileError(compileError);
return false;
@@ -467,7 +473,7 @@ PassRefPtr<JavaScriptCallFrame> V8DebuggerImpl::wrapCallFrames(int maximumLimit,
v8::Local<v8::Value> currentCallFrameV8;
if (m_executionState.IsEmpty()) {
v8::Local<v8::Function> currentCallFrameFunction = v8::Local<v8::Function>::Cast(m_debuggerScript.Get(m_isolate)->Get(v8InternalizedString("currentCallFrame")));
- currentCallFrameV8 = v8CallOrCrash(v8::Debug::Call(debuggerContext(), currentCallFrameFunction, v8::Integer::New(m_isolate, data)));
+ currentCallFrameV8 = v8::Debug::Call(debuggerContext(), currentCallFrameFunction, v8::Integer::New(m_isolate, data)).ToLocalChecked();
} else {
v8::Local<v8::Value> argv[] = { m_executionState, v8::Integer::New(m_isolate, data) };
currentCallFrameV8 = callDebuggerMethod("currentCallFrame", WTF_ARRAY_LENGTH(argv), argv).ToLocalChecked();
@@ -518,7 +524,7 @@ PassRefPtr<JavaScriptCallFrame> V8DebuggerImpl::callFrameNoScopes(int index)
v8::Local<v8::Value> currentCallFrameV8;
if (m_executionState.IsEmpty()) {
v8::Local<v8::Function> currentCallFrameFunction = v8::Local<v8::Function>::Cast(m_debuggerScript.Get(m_isolate)->Get(v8InternalizedString("currentCallFrameByIndex")));
- currentCallFrameV8 = v8CallOrCrash(v8::Debug::Call(debuggerContext(), currentCallFrameFunction, v8::Integer::New(m_isolate, index)));
+ currentCallFrameV8 = v8::Debug::Call(debuggerContext(), currentCallFrameFunction, v8::Integer::New(m_isolate, index)).ToLocalChecked();
} else {
v8::Local<v8::Value> argv[] = { m_executionState, v8::Integer::New(m_isolate, index) };
currentCallFrameV8 = callDebuggerMethod("currentCallFrameByIndex", WTF_ARRAY_LENGTH(argv), argv).ToLocalChecked();
@@ -651,8 +657,8 @@ void V8DebuggerImpl::handleV8DebugEvent(const v8::Debug::EventDetails& eventDeta
void V8DebuggerImpl::handleV8AsyncTaskEvent(V8DebuggerAgentImpl* agent, v8::Local<v8::Context> context, v8::Local<v8::Object> executionState, v8::Local<v8::Object> eventData)
{
- String type = toCoreStringWithUndefinedOrNullCheck(callInternalGetterFunction(eventData, "type"));
- String name = toCoreStringWithUndefinedOrNullCheck(callInternalGetterFunction(eventData, "name"));
+ String type = toWTFStringWithTypeCheck(callInternalGetterFunction(eventData, "type"));
+ String name = toWTFStringWithTypeCheck(callInternalGetterFunction(eventData, "name"));
int id = callInternalGetterFunction(eventData, "id")->ToInteger(m_isolate)->Value();
m_pausedContext = context;
@@ -686,10 +692,10 @@ V8DebuggerParsedScript V8DebuggerImpl::createParsedScript(v8::Local<v8::Object>
V8DebuggerParsedScript parsedScript;
parsedScript.scriptId = String::number(id->Int32Value());
- parsedScript.script.setURL(toCoreStringWithUndefinedOrNullCheck(object->Get(v8InternalizedString("name"))))
- .setSourceURL(toCoreStringWithUndefinedOrNullCheck(object->Get(v8InternalizedString("sourceURL"))))
- .setSourceMappingURL(toCoreStringWithUndefinedOrNullCheck(object->Get(v8InternalizedString("sourceMappingURL"))))
- .setSource(toCoreStringWithUndefinedOrNullCheck(object->Get(v8InternalizedString("source"))))
+ parsedScript.script.setURL(toWTFStringWithTypeCheck(object->Get(v8InternalizedString("name"))))
+ .setSourceURL(toWTFStringWithTypeCheck(object->Get(v8InternalizedString("sourceURL"))))
+ .setSourceMappingURL(toWTFStringWithTypeCheck(object->Get(v8InternalizedString("sourceMappingURL"))))
+ .setSource(toWTFStringWithTypeCheck(object->Get(v8InternalizedString("source"))))
.setStartLine(object->Get(v8InternalizedString("startLine"))->ToInteger(m_isolate)->Value())
.setStartColumn(object->Get(v8InternalizedString("startColumn"))->ToInteger(m_isolate)->Value())
.setEndLine(object->Get(v8InternalizedString("endLine"))->ToInteger(m_isolate)->Value())
@@ -771,7 +777,7 @@ v8::MaybeLocal<v8::Value> V8DebuggerImpl::setFunctionVariableValue(v8::Local<v8:
v8::Local<v8::Value> argv[] = {
functionValue,
v8::Local<v8::Value>(v8::Integer::New(m_isolate, scopeNumber)),
- v8String(m_isolate, variableName),
+ toV8String(m_isolate, variableName),
newValue
};
return callDebuggerMethod("setFunctionVariableValue", 4, argv);

Powered by Google App Engine
This is Rietveld 408576698