refactor: Add ElectronBrowserContext::BrowserContexts() (#46158)

* refactor: add ElectronBrowserContext::BrowserContexts()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: use ElectronBrowserContext::BrowserContexts() in ElectronBrowserMainParts::PostMainMessageLoopRun()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: use ElectronBrowserContext::BrowserContexts() in ElectronExtensionsBrowserClient::IsValidContext()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: use ElectronBrowserContext::BrowserContexts() in ElectronExtensionsBrowserClient::BroadcastEventToRenderers()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: move PartitionKey, BrowserContextMap private

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: add ElectronBrowserContext::IsValidContext()

decouple ElectronExtensionsBrowserClient from the internals of ElectronBrowserContext

Co-authored-by: Charles Kerr <charles@charleskerr.com>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
This commit is contained in:
trop[bot] 2025-03-20 15:42:12 -05:00 committed by GitHub
parent b3526da28e
commit cee2c2ceeb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 49 additions and 48 deletions

View file

@ -84,12 +84,7 @@ bool ElectronExtensionsBrowserClient::AreExtensionsDisabled(
}
bool ElectronExtensionsBrowserClient::IsValidContext(void* context) {
auto& context_map = ElectronBrowserContext::browser_context_map();
for (auto const& entry : context_map) {
if (entry.second && entry.second.get() == context)
return true;
}
return false;
return ElectronBrowserContext::IsValidContext(context);
}
bool ElectronExtensionsBrowserClient::IsSameContext(BrowserContext* first,
@ -340,13 +335,10 @@ void ElectronExtensionsBrowserClient::BroadcastEventToRenderers(
return;
}
for (auto const& [key, browser_context] :
ElectronBrowserContext::browser_context_map()) {
if (browser_context) {
extensions::EventRouter::Get(browser_context.get())
->BroadcastEvent(std::make_unique<extensions::Event>(
histogram_value, event_name, args.Clone()));
}
for (auto* browser_context : ElectronBrowserContext::BrowserContexts()) {
extensions::EventRouter::Get(browser_context)
->BroadcastEvent(std::make_unique<extensions::Event>(
histogram_value, event_name, args.Clone()));
}
}