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, |