From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Samuel Attard Date: Thu, 20 Sep 2018 17:50:24 -0700 Subject: blink_initialization_order.patch Backport of https://chromium-review.googlesource.com/c/chromium/src/+/1030530 to fix the order of V8 and Blink initialization. Also fixes order of DidCreateScriptContext notification with initialization of window globals to fix electron/electron#13787. The backport landed in Chromium 67 but the DidCreateScriptContext re-ordering needs to be upstreamed or kept indefinitely diff --git a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc index 9c3e848f01aef165c21a6d6043b6f9038d31cb66..7c16e8da1052b50f36da8102fdd8b9206dd7883d 100644 --- a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc +++ b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc @@ -190,11 +190,10 @@ void LocalWindowProxy::Initialize() { GetFrame()->IsMainFrame()); MainThreadDebugger::Instance()->ContextCreated(script_state_, GetFrame(), origin); + InstallConditionalFeatures(); GetFrame()->Client()->DidCreateScriptContext(context, world_->GetWorldId()); } - InstallConditionalFeatures(); - // This needs to go after everything else since it accesses the window object. InitializeV8ExtrasBinding(script_state_);