From 56d63560939ef407eaddea685c235b5b166b1475 Mon Sep 17 00:00:00 2001 From: Anthony Tseng Date: Tue, 29 May 2018 16:31:40 -0700 Subject: [PATCH] Explicitly calling `ExtensionWebContentsObserver::Initialize` https://chromium.googlesource.com/chromium/src/+/399b6c3d211c09e1e0a003e8edb547043535bf77 fix brave/browser-laptop#14252 Auditor: @bridiver --- .../extensions/atom_extension_web_contents_observer.cc | 9 +++++++++ .../extensions/atom_extension_web_contents_observer.h | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/atom/browser/extensions/atom_extension_web_contents_observer.cc b/atom/browser/extensions/atom_extension_web_contents_observer.cc index b99e8dfd44..bbda68e5e5 100644 --- a/atom/browser/extensions/atom_extension_web_contents_observer.cc +++ b/atom/browser/extensions/atom_extension_web_contents_observer.cc @@ -29,6 +29,15 @@ AtomExtensionWebContentsObserver::AtomExtensionWebContentsObserver( AtomExtensionWebContentsObserver::~AtomExtensionWebContentsObserver() {} +void AtomExtensionWebContentsObserver::CreateForWebContents( + content::WebContents* web_contents) { + content::WebContentsUserData< + AtomExtensionWebContentsObserver>::CreateForWebContents(web_contents); + + // Initialize this instance if necessary. + FromWebContents(web_contents)->Initialize(); +} + void AtomExtensionWebContentsObserver::RenderFrameCreated( content::RenderFrameHost* render_frame_host) { ExtensionWebContentsObserver::RenderFrameCreated(render_frame_host); diff --git a/atom/browser/extensions/atom_extension_web_contents_observer.h b/atom/browser/extensions/atom_extension_web_contents_observer.h index 6e2f5958d1..d7140b3850 100644 --- a/atom/browser/extensions/atom_extension_web_contents_observer.h +++ b/atom/browser/extensions/atom_extension_web_contents_observer.h @@ -24,6 +24,10 @@ class AtomExtensionWebContentsObserver public: ~AtomExtensionWebContentsObserver() override; + // Creates and initializes an instance of this class for the given + // |web_contents|, if it doesn't already exist. + static void CreateForWebContents(content::WebContents* web_contents); + private: friend class content::WebContentsUserData;