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

Unified Diff: third_party/WebKit/Source/platform/v8_inspector/V8InjectedScriptHost.cpp

Issue 1769273004: Remove V8RecrusionScope, cleanup call sites. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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/platform/v8_inspector/V8InjectedScriptHost.cpp
diff --git a/third_party/WebKit/Source/platform/v8_inspector/V8InjectedScriptHost.cpp b/third_party/WebKit/Source/platform/v8_inspector/V8InjectedScriptHost.cpp
index 816633be0bfd9cf62a4952fcc6334bb51fed076b..52997d0e824ff4d9b3dd4d1f9bc60b57ea5bc6dd 100644
--- a/third_party/WebKit/Source/platform/v8_inspector/V8InjectedScriptHost.cpp
+++ b/third_party/WebKit/Source/platform/v8_inspector/V8InjectedScriptHost.cpp
@@ -288,11 +288,11 @@ void V8InjectedScriptHost::evalCallback(const v8::FunctionCallbackInfo<v8::Value
ASSERT(isolate->InContext());
v8::TryCatch tryCatch(isolate);
- v8::Local<v8::Value> result;
InjectedScriptHost* host = V8InjectedScriptHost::unwrap(isolate->GetCurrentContext(), info.Holder());
if (!host->debugger())
return;
- if (!host->debugger()->client()->compileAndRunInternalScript(expression).ToLocal(&result)) {
+ v8::Local<v8::Value> result = host->debugger()->compileAndRunInternalScript(isolate->GetCurrentContext(), expression);
+ if (result.IsEmpty()) {
v8SetReturnValue(info, tryCatch.ReThrow());
return;
}
@@ -332,6 +332,10 @@ void V8InjectedScriptHost::evaluateWithExceptionDetailsCallback(const v8::Functi
if (!host->debugger())
return;
+ // TODO(dgozman): get rid of this check.
+ if (!host->debugger()->client()->isExecutionAllowed())
+ return;
+
v8::Local<v8::Script> script = host->debugger()->compileInternalScript(context, expression, String());
if (script.IsEmpty()) {
setExceptionAsReturnValue(info, wrappedResult, tryCatch);
@@ -345,7 +349,11 @@ void V8InjectedScriptHost::evaluateWithExceptionDetailsCallback(const v8::Functi
global->Set(commandLineAPISymbolValue, commandLineAPI);
}
- v8::MaybeLocal<v8::Value> result = host->debugger()->client()->runCompiledScript(context, script);
+ v8::MicrotasksScope microtasksScope(isolate, v8::MicrotasksScope::kRunMicrotasks);
+ int cookie = host->debugger()->willExecuteScript(context, script->GetUnboundScript()->GetId());
+ v8::MaybeLocal<v8::Value> result = script->Run(context);
pfeldman 2016/03/08 01:44:21 ditto
dgozman 2016/03/08 02:23:00 Done.
+ host->debugger()->didExecuteScript(cookie);
+
if (result.IsEmpty()) {
global->Delete(context, commandLineAPISymbolValue);
setExceptionAsReturnValue(info, wrappedResult, tryCatch);
@@ -598,9 +606,9 @@ v8::Local<v8::FunctionTemplate> V8InjectedScriptHost::createWrapperTemplate(v8::
return InjectedScriptHostWrapper::createWrapperTemplate(isolate, methods, attributes);
}
-v8::Local<v8::Object> V8InjectedScriptHost::wrap(V8DebuggerClient* client, v8::Local<v8::FunctionTemplate> constructorTemplate, v8::Local<v8::Context> context, InjectedScriptHost* host)
+v8::Local<v8::Object> V8InjectedScriptHost::wrap(v8::Local<v8::FunctionTemplate> constructorTemplate, v8::Local<v8::Context> context, InjectedScriptHost* host)
{
- return InjectedScriptHostWrapper::wrap(client, constructorTemplate, context, host);
+ return InjectedScriptHostWrapper::wrap(constructorTemplate, context, host);
}
InjectedScriptHost* V8InjectedScriptHost::unwrap(v8::Local<v8::Context> context, v8::Local<v8::Object> object)

Powered by Google App Engine
This is Rietveld 408576698