Index: third_party/WebKit/Source/bindings/core/v8/ScriptController.cpp |
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptController.cpp b/third_party/WebKit/Source/bindings/core/v8/ScriptController.cpp |
index d6d58c058eb92b026696323618b1204c090df3ac..1b4782d94b4e3ff4bbcf2194c0e16eb48f3e80db 100644 |
--- a/third_party/WebKit/Source/bindings/core/v8/ScriptController.cpp |
+++ b/third_party/WebKit/Source/bindings/core/v8/ScriptController.cpp |
@@ -32,6 +32,7 @@ |
#include "bindings/core/v8/ScriptController.h" |
+#include "bindings/core/v8/ScriptModule.h" |
#include "bindings/core/v8/ScriptSourceCode.h" |
#include "bindings/core/v8/ScriptValue.h" |
#include "bindings/core/v8/V8Binding.h" |
@@ -452,4 +453,19 @@ void ScriptController::executeScriptInIsolatedWorld( |
} |
} |
+ScriptModule ScriptController::compileModule(const String& script, |
+ const String& urlStr) { |
+ v8::Isolate* isolate = V8PerIsolateData::mainThreadIsolate(); |
+ v8::HandleScope handleScope(isolate); |
+ |
+ ScriptState* scriptState = ScriptState::forMainWorld(frame()); |
+ if (!scriptState) { |
+ printf("Failed to get ScriptState forMainWorld\n"); |
+ return ScriptModule(); |
+ } |
+ |
+ ScriptState::Scope scope(scriptState); |
+ return ScriptModule::compile(isolate, script, urlStr); |
+} |
+ |
} // namespace blink |