From 65a7dddd4a40960b3a77458386cde55af484100d Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Sat, 15 Mar 2025 11:39:34 -0500 Subject: [PATCH] fix: `ElectronBrowserContext` `raw_ptr` bug + remove dead code (#46053) refactor: remove unused ElectronBrowserContext::extension_system() Last use removed on Jul 21, 2020 by 2fb14f5 in PR #24575 This fixes a raw_ptr warning by letting us remove the raw_ptr field `ElectronBrowserContext::extension_system_`. Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr --- shell/browser/electron_browser_context.cc | 11 +++-------- shell/browser/electron_browser_context.h | 22 ---------------------- 2 files changed, 3 insertions(+), 30 deletions(-) diff --git a/shell/browser/electron_browser_context.cc b/shell/browser/electron_browser_context.cc index 4ad77d32b217..eff399c8f851 100644 --- a/shell/browser/electron_browser_context.cc +++ b/shell/browser/electron_browser_context.cc @@ -365,10 +365,10 @@ ElectronBrowserContext::ElectronBrowserContext( BrowserContextDependencyManager::GetInstance() ->CreateBrowserContextServices(this); - extension_system_ = static_cast( + auto* extension_system = static_cast( extensions::ExtensionSystem::Get(this)); - extension_system_->InitForRegularProfile(true /* extensions_enabled */); - extension_system_->FinishInitialization(); + extension_system->InitForRegularProfile(true /* extensions_enabled */); + extension_system->FinishInitialization(); } #endif } @@ -377,11 +377,6 @@ ElectronBrowserContext::~ElectronBrowserContext() { DCHECK_CURRENTLY_ON(BrowserThread::UI); NotifyWillBeDestroyed(); -#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS) - // the DestroyBrowserContextServices() call below frees this. - extension_system_ = nullptr; -#endif - // Notify any keyed services of browser context destruction. BrowserContextDependencyManager::GetInstance()->DestroyBrowserContextServices( this); diff --git a/shell/browser/electron_browser_context.h b/shell/browser/electron_browser_context.h index 3088d9862480..29c2c119655b 100644 --- a/shell/browser/electron_browser_context.h +++ b/shell/browser/electron_browser_context.h @@ -13,12 +13,10 @@ #include #include -#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "content/public/browser/browser_context.h" #include "content/public/browser/media_stream_request.h" #include "content/public/browser/resource_context.h" -#include "electron/buildflags/buildflags.h" #include "electron/shell/browser/media/media_device_id_salt.h" #include "mojo/public/cpp/bindings/remote.h" #include "services/network/public/mojom/ssl_config.mojom.h" @@ -43,12 +41,6 @@ namespace storage { class SpecialStoragePolicy; } -#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS) -namespace extensions { -class ElectronExtensionSystem; -} -#endif - namespace electron { class ElectronDownloadManagerDelegate; @@ -154,15 +146,6 @@ class ElectronBrowserContext : public content::BrowserContext { return weak_factory_.GetWeakPtr(); } -#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS) - extensions::ElectronExtensionSystem* extension_system() { - // Guard usages of extension_system() with !IsOffTheRecord() - // There is no extension system for in-memory sessions - DCHECK(!IsOffTheRecord()); - return extension_system_; - } -#endif - ProtocolRegistry* protocol_registry() const { return protocol_registry_.get(); } @@ -237,11 +220,6 @@ class ElectronBrowserContext : public content::BrowserContext { bool use_cache_ = true; int max_cache_size_ = 0; -#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS) - // Owned by the KeyedService system. - raw_ptr extension_system_; -#endif - // Shared URLLoaderFactory. scoped_refptr url_loader_factory_;