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 8da91443214551132f080d9eead172b608684b1b..18554840e963296263302283beed37ba7aab8ea0 100644 |
--- a/third_party/WebKit/Source/bindings/core/v8/ScriptController.cpp |
+++ b/third_party/WebKit/Source/bindings/core/v8/ScriptController.cpp |
@@ -277,8 +277,14 @@ void ScriptController::collectIsolatedContexts(Vector<std::pair<ScriptState*, Se |
void ScriptController::updateDocument() |
{ |
+ bool forceMainWorldInitialization = false; |
+ if (canExecuteScripts(NotAboutToExecuteScript) && !frame()->loader().stateMachine()->creatingInitialEmptyDocument()) { |
+ Settings* settings = frame()->settings(); |
+ forceMainWorldInitialization = settings && settings->forceMainWorldInitialization(); |
+ } |
+ |
// For an uninitialized main window windowProxy, do not incur the cost of context initialization. |
- if (!m_windowProxyManager->mainWorldProxy()->isGlobalInitialized()) |
+ if (!forceMainWorldInitialization && !m_windowProxyManager->mainWorldProxy()->isGlobalInitialized()) |
haraken
2016/07/01 02:28:03
Hmm, it looks a bit nasty to force the main world
dgozman
2016/07/06 17:02:20
Alternatives are LocalDOMWindow::installNewDocumen
|
return; |
if (!initializeMainWorld()) |