Chromium Code Reviews| 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()) |