diff options
-rw-r--r-- | chromium/third_party/WebKit/Source/bindings/core/v8/PrivateScriptRunner.cpp | 10 | ||||
-rw-r--r-- | chromium/third_party/WebKit/Source/bindings/core/v8/PrivateScriptRunner.js | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/chromium/third_party/WebKit/Source/bindings/core/v8/PrivateScriptRunner.cpp b/chromium/third_party/WebKit/Source/bindings/core/v8/PrivateScriptRunner.cpp index cee73f1ed38..41b43b7972a 100644 --- a/chromium/third_party/WebKit/Source/bindings/core/v8/PrivateScriptRunner.cpp +++ b/chromium/third_party/WebKit/Source/bindings/core/v8/PrivateScriptRunner.cpp @@ -16,6 +16,7 @@ #include "core/dom/Document.h" #include "core/dom/ExceptionCode.h" #include "platform/PlatformResourceLoader.h" +#include "base/logging.h" namespace blink { @@ -53,9 +54,12 @@ static v8::Local<v8::Value> compileAndRunPrivateScript(ScriptState* scriptState, v8::Local<v8::Context> context = scriptState->context(); v8::Local<v8::Object> global = context->Global(); - v8::Local<v8::Value> privateScriptController = global->Get(context, v8String(isolate, "privateScriptController")).ToLocalChecked(); - RELEASE_ASSERT(privateScriptController->IsUndefined() || privateScriptController->IsObject()); - if (privateScriptController->IsObject()) { + v8::Local<v8::String> key = v8String(isolate, "privateScriptController"); + + if (global->HasOwnProperty(context, key).FromJust()) { + v8::Local<v8::Value> privateScriptController = + global->Get(context, key).ToLocalChecked(); + CHECK(privateScriptController->IsObject()); v8::Local<v8::Object> privateScriptControllerObject = privateScriptController.As<v8::Object>(); v8::Local<v8::Value> importFunctionValue = privateScriptControllerObject->Get(context, v8String(isolate, "import")).ToLocalChecked(); if (importFunctionValue->IsUndefined()) { diff --git a/chromium/third_party/WebKit/Source/bindings/core/v8/PrivateScriptRunner.js b/chromium/third_party/WebKit/Source/bindings/core/v8/PrivateScriptRunner.js index 9dc27f0d7df..6010df9963b 100644 --- a/chromium/third_party/WebKit/Source/bindings/core/v8/PrivateScriptRunner.js +++ b/chromium/third_party/WebKit/Source/bindings/core/v8/PrivateScriptRunner.js @@ -136,7 +136,7 @@ PrivateScriptController.prototype = { }, } -if (typeof window.privateScriptController === 'undefined') +if (!window.hasOwnProperty("privateScriptController")) window.privateScriptController = new PrivateScriptController(); // This line must be the last statement of this JS file. |