Index: Source/bindings/v8/custom/V8InjectedScriptHostCustom.cpp |
diff --git a/Source/bindings/v8/custom/V8InjectedScriptHostCustom.cpp b/Source/bindings/v8/custom/V8InjectedScriptHostCustom.cpp |
index 933985e8e317ab47e7c87590f2e61d7adcc7b083..60c91363c3acc0fa4e3d81cc159a12a03801bd1b 100644 |
--- a/Source/bindings/v8/custom/V8InjectedScriptHostCustom.cpp |
+++ b/Source/bindings/v8/custom/V8InjectedScriptHostCustom.cpp |
@@ -38,6 +38,7 @@ |
#include "V8NodeList.h" |
#include "V8Storage.h" |
#include "bindings/dart/DartHandleProxy.h" |
+#include "bindings/dart/DartInjectedScriptHost.h" |
#include "bindings/v8/BindingSecurity.h" |
#include "bindings/v8/ScriptDebugServer.h" |
#include "bindings/v8/ScriptValue.h" |
@@ -354,6 +355,14 @@ void V8InjectedScriptHost::evaluateMethodCustom(const v8::FunctionCallbackInfo<v |
return; |
} |
+ // FIXME(dartbug.com/13804): refactor DartInjectedScriptHost to instead |
+ // subclass InjectedScriptHost. |
+ v8::Handle<v8::Value> dartResult = DartInjectedScriptHost::evaluateIfDartContext(args.Holder(), expression); |
+ if (!dartResult.IsEmpty()) { |
+ v8SetReturnValue(args, dartResult); |
+ return; |
+ } |
+ |
ASSERT(!v8::Context::GetCurrent().IsEmpty()); |
v8::TryCatch tryCatch; |
v8::Handle<v8::Value> result = V8ScriptRunner::compileAndRunInternalScript(expression, args.GetIsolate()); |