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

Unified Diff: src/inspector/V8Debugger.cpp

Issue 2332243002: [inspector] fixed all deprecated calls (Closed)
Patch Set: addressed comments Created 4 years, 3 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
« no previous file with comments | « src/inspector/V8Debugger.h ('k') | src/inspector/V8DebuggerScript.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/inspector/V8Debugger.cpp
diff --git a/src/inspector/V8Debugger.cpp b/src/inspector/V8Debugger.cpp
index 1d4217cf93957e34acd582a4298b41dba6ea2e11..675623de34e8ac2d0095fcfe0153c77e97010ec3 100644
--- a/src/inspector/V8Debugger.cpp
+++ b/src/inspector/V8Debugger.cpp
@@ -35,12 +35,14 @@ v8::MaybeLocal<v8::Value> V8Debugger::callDebuggerMethod(
const char* functionName, int argc, v8::Local<v8::Value> argv[]) {
v8::MicrotasksScope microtasks(m_isolate,
v8::MicrotasksScope::kDoNotRunMicrotasks);
+ DCHECK(m_isolate->InContext());
+ v8::Local<v8::Context> context = m_isolate->GetCurrentContext();
v8::Local<v8::Object> debuggerScript = m_debuggerScript.Get(m_isolate);
v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(
- debuggerScript->Get(toV8StringInternalized(m_isolate, functionName)));
- DCHECK(m_isolate->InContext());
- return function->Call(m_isolate->GetCurrentContext(), debuggerScript, argc,
- argv);
+ debuggerScript
+ ->Get(context, toV8StringInternalized(m_isolate, functionName))
+ .ToLocalChecked());
+ return function->Call(context, debuggerScript, argc, argv);
}
V8Debugger::V8Debugger(v8::Isolate* isolate, V8InspectorImpl* inspector)
@@ -110,15 +112,18 @@ void V8Debugger::getCompiledScripts(
v8::HandleScope scope(m_isolate);
v8::MicrotasksScope microtasks(m_isolate,
v8::MicrotasksScope::kDoNotRunMicrotasks);
+ v8::Local<v8::Context> context = debuggerContext();
v8::Local<v8::Object> debuggerScript = m_debuggerScript.Get(m_isolate);
DCHECK(!debuggerScript->IsUndefined());
v8::Local<v8::Function> getScriptsFunction = v8::Local<v8::Function>::Cast(
- debuggerScript->Get(toV8StringInternalized(m_isolate, "getScripts")));
+ debuggerScript
+ ->Get(context, toV8StringInternalized(m_isolate, "getScripts"))
+ .ToLocalChecked());
v8::Local<v8::Value> argv[] = {v8::Integer::New(m_isolate, contextGroupId)};
v8::Local<v8::Value> value;
if (!getScriptsFunction
- ->Call(debuggerContext(), debuggerScript,
- V8_INSPECTOR_ARRAY_LENGTH(argv), argv)
+ ->Call(context, debuggerScript, V8_INSPECTOR_ARRAY_LENGTH(argv),
+ argv)
.ToLocal(&value))
return;
DCHECK(value->IsArray());
@@ -126,9 +131,10 @@ void V8Debugger::getCompiledScripts(
result.reserve(scriptsArray->Length());
for (unsigned i = 0; i < scriptsArray->Length(); ++i) {
v8::Local<v8::Object> scriptObject = v8::Local<v8::Object>::Cast(
- scriptsArray->Get(v8::Integer::New(m_isolate, i)));
+ scriptsArray->Get(context, v8::Integer::New(m_isolate, i))
+ .ToLocalChecked());
result.push_back(wrapUnique(
- new V8DebuggerScript(m_isolate, scriptObject, inLiveEditScope)));
+ new V8DebuggerScript(context, scriptObject, inLiveEditScope)));
}
}
@@ -137,55 +143,82 @@ String16 V8Debugger::setBreakpoint(const String16& sourceID,
int* actualLineNumber,
int* actualColumnNumber) {
v8::HandleScope scope(m_isolate);
- v8::Context::Scope contextScope(debuggerContext());
+ v8::Local<v8::Context> context = debuggerContext();
+ v8::Context::Scope contextScope(context);
v8::Local<v8::Object> info = v8::Object::New(m_isolate);
- info->Set(toV8StringInternalized(m_isolate, "sourceID"),
- toV8String(m_isolate, sourceID));
- info->Set(toV8StringInternalized(m_isolate, "lineNumber"),
- v8::Integer::New(m_isolate, scriptBreakpoint.lineNumber));
- info->Set(toV8StringInternalized(m_isolate, "columnNumber"),
- v8::Integer::New(m_isolate, scriptBreakpoint.columnNumber));
- info->Set(toV8StringInternalized(m_isolate, "condition"),
- toV8String(m_isolate, scriptBreakpoint.condition));
-
- v8::Local<v8::Function> setBreakpointFunction =
- v8::Local<v8::Function>::Cast(m_debuggerScript.Get(m_isolate)->Get(
- toV8StringInternalized(m_isolate, "setBreakpoint")));
+ bool success = false;
+ success = info->Set(context, toV8StringInternalized(m_isolate, "sourceID"),
+ toV8String(m_isolate, sourceID))
+ .FromMaybe(false);
+ DCHECK(success);
+ success = info->Set(context, toV8StringInternalized(m_isolate, "lineNumber"),
+ v8::Integer::New(m_isolate, scriptBreakpoint.lineNumber))
+ .FromMaybe(false);
+ DCHECK(success);
+ success =
+ info->Set(context, toV8StringInternalized(m_isolate, "columnNumber"),
+ v8::Integer::New(m_isolate, scriptBreakpoint.columnNumber))
+ .FromMaybe(false);
+ DCHECK(success);
+ success = info->Set(context, toV8StringInternalized(m_isolate, "condition"),
+ toV8String(m_isolate, scriptBreakpoint.condition))
+ .FromMaybe(false);
+ DCHECK(success);
+
+ v8::Local<v8::Function> setBreakpointFunction = v8::Local<v8::Function>::Cast(
+ m_debuggerScript.Get(m_isolate)
+ ->Get(context, toV8StringInternalized(m_isolate, "setBreakpoint"))
+ .ToLocalChecked());
v8::Local<v8::Value> breakpointId =
v8::Debug::Call(debuggerContext(), setBreakpointFunction, info)
.ToLocalChecked();
if (!breakpointId->IsString()) return "";
*actualLineNumber =
- info->Get(toV8StringInternalized(m_isolate, "lineNumber"))->Int32Value();
+ info->Get(context, toV8StringInternalized(m_isolate, "lineNumber"))
+ .ToLocalChecked()
+ ->Int32Value(context)
+ .FromJust();
*actualColumnNumber =
- info->Get(toV8StringInternalized(m_isolate, "columnNumber"))
- ->Int32Value();
+ info->Get(context, toV8StringInternalized(m_isolate, "columnNumber"))
+ .ToLocalChecked()
+ ->Int32Value(context)
+ .FromJust();
return toProtocolString(breakpointId.As<v8::String>());
}
void V8Debugger::removeBreakpoint(const String16& breakpointId) {
v8::HandleScope scope(m_isolate);
- v8::Context::Scope contextScope(debuggerContext());
+ v8::Local<v8::Context> context = debuggerContext();
+ v8::Context::Scope contextScope(context);
v8::Local<v8::Object> info = v8::Object::New(m_isolate);
- info->Set(toV8StringInternalized(m_isolate, "breakpointId"),
- toV8String(m_isolate, breakpointId));
+ bool success = false;
+ success =
+ info->Set(context, toV8StringInternalized(m_isolate, "breakpointId"),
+ toV8String(m_isolate, breakpointId))
+ .FromMaybe(false);
+ DCHECK(success);
v8::Local<v8::Function> removeBreakpointFunction =
- v8::Local<v8::Function>::Cast(m_debuggerScript.Get(m_isolate)->Get(
- toV8StringInternalized(m_isolate, "removeBreakpoint")));
+ v8::Local<v8::Function>::Cast(
+ m_debuggerScript.Get(m_isolate)
+ ->Get(context,
+ toV8StringInternalized(m_isolate, "removeBreakpoint"))
+ .ToLocalChecked());
v8::Debug::Call(debuggerContext(), removeBreakpointFunction, info)
.ToLocalChecked();
}
void V8Debugger::clearBreakpoints() {
v8::HandleScope scope(m_isolate);
- v8::Context::Scope contextScope(debuggerContext());
+ v8::Local<v8::Context> context = debuggerContext();
+ v8::Context::Scope contextScope(context);
- v8::Local<v8::Function> clearBreakpoints =
- v8::Local<v8::Function>::Cast(m_debuggerScript.Get(m_isolate)->Get(
- toV8StringInternalized(m_isolate, "clearBreakpoints")));
+ v8::Local<v8::Function> clearBreakpoints = v8::Local<v8::Function>::Cast(
+ m_debuggerScript.Get(m_isolate)
+ ->Get(context, toV8StringInternalized(m_isolate, "clearBreakpoints"))
+ .ToLocalChecked());
v8::Debug::Call(debuggerContext(), clearBreakpoints).ToLocalChecked();
}
@@ -195,14 +228,21 @@ void V8Debugger::setBreakpointsActivated(bool activated) {
return;
}
v8::HandleScope scope(m_isolate);
- v8::Context::Scope contextScope(debuggerContext());
+ v8::Local<v8::Context> context = debuggerContext();
+ v8::Context::Scope contextScope(context);
v8::Local<v8::Object> info = v8::Object::New(m_isolate);
- info->Set(toV8StringInternalized(m_isolate, "enabled"),
- v8::Boolean::New(m_isolate, activated));
+ bool success = false;
+ success = info->Set(context, toV8StringInternalized(m_isolate, "enabled"),
+ v8::Boolean::New(m_isolate, activated))
+ .FromMaybe(false);
+ DCHECK(success);
v8::Local<v8::Function> setBreakpointsActivated =
- v8::Local<v8::Function>::Cast(m_debuggerScript.Get(m_isolate)->Get(
- toV8StringInternalized(m_isolate, "setBreakpointsActivated")));
+ v8::Local<v8::Function>::Cast(
+ m_debuggerScript.Get(m_isolate)
+ ->Get(context, toV8StringInternalized(m_isolate,
+ "setBreakpointsActivated"))
+ .ToLocalChecked());
v8::Debug::Call(debuggerContext(), setBreakpointsActivated, info)
.ToLocalChecked();
@@ -212,12 +252,14 @@ void V8Debugger::setBreakpointsActivated(bool activated) {
V8Debugger::PauseOnExceptionsState V8Debugger::getPauseOnExceptionsState() {
DCHECK(enabled());
v8::HandleScope scope(m_isolate);
- v8::Context::Scope contextScope(debuggerContext());
+ v8::Local<v8::Context> context = debuggerContext();
+ v8::Context::Scope contextScope(context);
v8::Local<v8::Value> argv[] = {v8::Undefined(m_isolate)};
v8::Local<v8::Value> result =
callDebuggerMethod("pauseOnExceptionsState", 0, argv).ToLocalChecked();
- return static_cast<V8Debugger::PauseOnExceptionsState>(result->Int32Value());
+ return static_cast<V8Debugger::PauseOnExceptionsState>(
+ result->Int32Value(context).FromJust());
}
void V8Debugger::setPauseOnExceptionsState(
@@ -357,12 +399,20 @@ bool V8Debugger::setScriptSource(
v8result = maybeResult.ToLocalChecked();
}
DCHECK(!v8result.IsEmpty());
- v8::Local<v8::Object> resultTuple = v8result->ToObject(m_isolate);
- int code =
- static_cast<int>(resultTuple->Get(0)->ToInteger(m_isolate)->Value());
+ v8::Local<v8::Context> context = m_isolate->GetCurrentContext();
+ v8::Local<v8::Object> resultTuple =
+ v8result->ToObject(context).ToLocalChecked();
+ int code = static_cast<int>(resultTuple->Get(context, 0)
+ .ToLocalChecked()
+ ->ToInteger(context)
+ .ToLocalChecked()
+ ->Value());
switch (code) {
case 0: {
- *stackChanged = resultTuple->Get(1)->BooleanValue();
+ *stackChanged = resultTuple->Get(context, 1)
+ .ToLocalChecked()
+ ->BooleanValue(context)
+ .FromJust();
// Call stack may have changed after if the edited function was on the
// stack.
if (!dryRun && isPaused()) {
@@ -376,11 +426,20 @@ bool V8Debugger::setScriptSource(
*exceptionDetails =
protocol::Runtime::ExceptionDetails::create()
.setExceptionId(m_inspector->nextExceptionId())
- .setText(toProtocolStringWithTypeCheck(resultTuple->Get(2)))
- .setLineNumber(
- resultTuple->Get(3)->ToInteger(m_isolate)->Value() - 1)
- .setColumnNumber(
- resultTuple->Get(4)->ToInteger(m_isolate)->Value() - 1)
+ .setText(toProtocolStringWithTypeCheck(
+ resultTuple->Get(context, 2).ToLocalChecked()))
+ .setLineNumber(resultTuple->Get(context, 3)
+ .ToLocalChecked()
+ ->ToInteger(context)
+ .ToLocalChecked()
+ ->Value() -
+ 1)
+ .setColumnNumber(resultTuple->Get(context, 4)
+ .ToLocalChecked()
+ ->ToInteger(context)
+ .ToLocalChecked()
+ ->Value() -
+ 1)
.build();
return false;
}
@@ -394,8 +453,11 @@ JavaScriptCallFrames V8Debugger::currentCallFrames(int limit) {
v8::Local<v8::Value> currentCallFramesV8;
if (m_executionState.IsEmpty()) {
v8::Local<v8::Function> currentCallFramesFunction =
- v8::Local<v8::Function>::Cast(m_debuggerScript.Get(m_isolate)->Get(
- toV8StringInternalized(m_isolate, "currentCallFrames")));
+ v8::Local<v8::Function>::Cast(
+ m_debuggerScript.Get(m_isolate)
+ ->Get(debuggerContext(),
+ toV8StringInternalized(m_isolate, "currentCallFrames"))
+ .ToLocalChecked());
currentCallFramesV8 =
v8::Debug::Call(debuggerContext(), currentCallFramesFunction,
v8::Integer::New(m_isolate, limit))
@@ -459,10 +521,11 @@ void V8Debugger::handleProgramBreak(v8::Local<v8::Context> pausedContext,
if (!hitBreakpointNumbers.IsEmpty()) {
breakpointIds.reserve(hitBreakpointNumbers->Length());
for (size_t i = 0; i < hitBreakpointNumbers->Length(); i++) {
- v8::Local<v8::Value> hitBreakpointNumber = hitBreakpointNumbers->Get(i);
- DCHECK(!hitBreakpointNumber.IsEmpty() && hitBreakpointNumber->IsInt32());
- breakpointIds.push_back(
- String16::fromInteger(hitBreakpointNumber->Int32Value()));
+ v8::Local<v8::Value> hitBreakpointNumber =
+ hitBreakpointNumbers->Get(debuggerContext(), i).ToLocalChecked();
+ DCHECK(hitBreakpointNumber->IsInt32());
+ breakpointIds.push_back(String16::fromInteger(
+ hitBreakpointNumber->Int32Value(debuggerContext()).FromJust()));
}
}
@@ -507,7 +570,10 @@ v8::Local<v8::Value> V8Debugger::callInternalGetterFunction(
v8::MicrotasksScope microtasks(m_isolate,
v8::MicrotasksScope::kDoNotRunMicrotasks);
v8::Local<v8::Value> getterValue =
- object->Get(toV8StringInternalized(m_isolate, functionName));
+ object
+ ->Get(m_isolate->GetCurrentContext(),
+ toV8StringInternalized(m_isolate, functionName))
+ .ToLocalChecked();
DCHECK(!getterValue.IsEmpty() && getterValue->IsFunction());
return v8::Local<v8::Function>::Cast(getterValue)
->Call(m_isolate->GetCurrentContext(), object, 0, 0)
@@ -546,9 +612,10 @@ void V8Debugger::handleV8DebugEvent(
if (value->IsNull()) return;
DCHECK(value->IsObject());
v8::Local<v8::Object> scriptObject = v8::Local<v8::Object>::Cast(value);
- agent->didParseSource(wrapUnique(new V8DebuggerScript(
- m_isolate, scriptObject, inLiveEditScope)),
- event == v8::AfterCompile);
+ agent->didParseSource(
+ wrapUnique(new V8DebuggerScript(debuggerContext(), scriptObject,
+ inLiveEditScope)),
+ event == v8::AfterCompile);
} else if (event == v8::Exception) {
v8::Local<v8::Object> eventData = eventDetails.GetEventData();
v8::Local<v8::Value> exception =
@@ -580,7 +647,8 @@ void V8Debugger::handleV8AsyncTaskEvent(v8::Local<v8::Context> context,
String16 name = toProtocolStringWithTypeCheck(
callInternalGetterFunction(eventData, "name"));
int id = callInternalGetterFunction(eventData, "id")
- ->ToInteger(m_isolate)
+ ->ToInteger(context)
+ .ToLocalChecked()
->Value();
// The scopes for the ids are defined by the eventData.name namespaces. There
// are currently two namespaces: "Object." and "Promise.".
« no previous file with comments | « src/inspector/V8Debugger.h ('k') | src/inspector/V8DebuggerScript.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698