| 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 eb6c5d4f38a78873680b374a1ad6a6bc55f1b461..55a11dea10165f32ea951c85bec4e27bb83df48c 100644
|
| --- a/third_party/WebKit/Source/bindings/core/v8/ScriptController.cpp
|
| +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptController.cpp
|
| @@ -77,9 +77,6 @@
|
|
|
| namespace blink {
|
|
|
| -ScriptController::ScriptController(LocalFrame* frame)
|
| - : m_windowProxyManager(LocalWindowProxyManager::create(*frame)) {}
|
| -
|
| DEFINE_TRACE(ScriptController) {
|
| visitor->trace(m_windowProxyManager);
|
| }
|
| @@ -160,12 +157,6 @@ v8::Local<v8::Value> ScriptController::executeScriptAndReturnValue(
|
| return result;
|
| }
|
|
|
| -LocalWindowProxy* ScriptController::windowProxy(DOMWrapperWorld& world) {
|
| - LocalWindowProxy* windowProxy = m_windowProxyManager->windowProxy(world);
|
| - windowProxy->initializeIfNeeded();
|
| - return windowProxy;
|
| -}
|
| -
|
| bool ScriptController::shouldBypassMainWorldCSP() {
|
| v8::HandleScope handleScope(isolate());
|
| v8::Local<v8::Context> context = isolate()->GetCurrentContext();
|
| @@ -185,20 +176,22 @@ TextPosition ScriptController::eventHandlerPosition() const {
|
| }
|
|
|
| void ScriptController::enableEval() {
|
| + if (!m_windowProxyManager->isMainWorldProxyInitialized())
|
| + return;
|
| +
|
| v8::HandleScope handleScope(isolate());
|
| v8::Local<v8::Context> v8Context =
|
| m_windowProxyManager->mainWorldProxy()->contextIfInitialized();
|
| - if (v8Context.IsEmpty())
|
| - return;
|
| v8Context->AllowCodeGenerationFromStrings(true);
|
| }
|
|
|
| void ScriptController::disableEval(const String& errorMessage) {
|
| + if (!m_windowProxyManager->isMainWorldProxyInitialized())
|
| + return;
|
| +
|
| v8::HandleScope handleScope(isolate());
|
| v8::Local<v8::Context> v8Context =
|
| m_windowProxyManager->mainWorldProxy()->contextIfInitialized();
|
| - if (v8Context.IsEmpty())
|
| - return;
|
| v8Context->AllowCodeGenerationFromStrings(false);
|
| v8Context->SetErrorMessageForCodeGenerationFromStrings(
|
| v8String(isolate(), errorMessage));
|
| @@ -244,7 +237,8 @@ void ScriptController::clearWindowProxy() {
|
| }
|
|
|
| void ScriptController::updateDocument() {
|
| - m_windowProxyManager->mainWorldProxy()->updateDocument();
|
| + if (m_windowProxyManager->isMainWorldProxyInitialized())
|
| + m_windowProxyManager->mainWorldProxy()->updateDocument();
|
| }
|
|
|
| bool ScriptController::executeScriptIfJavaScriptURL(const KURL& url,
|
|
|