| 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 d7464e062606c5634c0b979b8fc6247717233d79..f5c668d369b7625c137010f6ede4194ed6d01374 100644
|
| --- a/third_party/WebKit/Source/bindings/core/v8/ScriptController.cpp
|
| +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptController.cpp
|
| @@ -266,8 +266,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())
|
| return;
|
|
|
| if (!initializeMainWorld())
|
|
|