Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Unified Diff: extensions/browser/renderer_startup_helper.cc

Issue 2211213002: Revert of [Extensions] Ensure ordering of extension [un]loaded, activated messages (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2785
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « extensions/browser/renderer_startup_helper.h ('k') | extensions/renderer/dispatcher.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/browser/renderer_startup_helper.cc
diff --git a/extensions/browser/renderer_startup_helper.cc b/extensions/browser/renderer_startup_helper.cc
index 3482be33ad87258b46bd720d3d31ca1846746bf7..4a9c961de65845fcda1b23856a59ee5ab11eb772 100644
--- a/extensions/browser/renderer_startup_helper.cc
+++ b/extensions/browser/renderer_startup_helper.cc
@@ -27,8 +27,6 @@
DCHECK(browser_context);
registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_CREATED,
content::NotificationService::AllBrowserContextsAndSources());
- registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_TERMINATED,
- content::NotificationService::AllBrowserContextsAndSources());
}
RendererStartupHelper::~RendererStartupHelper() {}
@@ -37,21 +35,9 @@
int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) {
- switch (type) {
- case content::NOTIFICATION_RENDERER_PROCESS_CREATED:
- InitializeProcess(
- content::Source<content::RenderProcessHost>(source).ptr());
- break;
- case content::NOTIFICATION_RENDERER_PROCESS_TERMINATED:
- UntrackProcess(content::Source<content::RenderProcessHost>(source).ptr());
- break;
- default:
- NOTREACHED() << "Unexpected notification: " << type;
- }
-}
-
-void RendererStartupHelper::InitializeProcess(
- content::RenderProcessHost* process) {
+ DCHECK_EQ(content::NOTIFICATION_RENDERER_PROCESS_CREATED, type);
+ content::RenderProcessHost* process =
+ content::Source<content::RenderProcessHost>(source).ptr();
ExtensionsBrowserClient* client = ExtensionsBrowserClient::Get();
if (!client->IsSameContext(browser_context_, process->GetBrowserContext()))
return;
@@ -100,58 +86,6 @@
}
}
process->Send(new ExtensionMsg_Loaded(loaded_extensions));
- auto iter = pending_active_extensions_.find(process);
- if (iter != pending_active_extensions_.end()) {
- for (const ExtensionId& id : iter->second) {
- DCHECK(extensions.Contains(id));
- process->Send(new ExtensionMsg_ActivateExtension(id));
- }
- }
-
- initialized_processes_.insert(process);
-}
-
-void RendererStartupHelper::UntrackProcess(
- content::RenderProcessHost* process) {
- if (!ExtensionsBrowserClient::Get()->IsSameContext(
- browser_context_, process->GetBrowserContext())) {
- return;
- }
-
- initialized_processes_.erase(process);
- pending_active_extensions_.erase(process);
-}
-
-void RendererStartupHelper::ActivateExtensionInProcess(
- const ExtensionId& id,
- content::RenderProcessHost* process) {
- if (initialized_processes_.count(process))
- process->Send(new ExtensionMsg_ActivateExtension(id));
- else
- pending_active_extensions_[process].insert(id);
-}
-
-void RendererStartupHelper::OnExtensionLoaded(const Extension& extension) {
- // Renderers don't need to know about themes.
- if (extension.is_theme())
- return;
-
- // We don't need to include tab permisisons here, since the extension
- // was just loaded.
- // Uninitialized renderers will be informed of the extension load during the
- // first batch of messages.
- std::vector<ExtensionMsg_Loaded_Params> params(
- 1,
- ExtensionMsg_Loaded_Params(&extension, false /* no tab permissions */));
- for (content::RenderProcessHost* process : initialized_processes_)
- process->Send(new ExtensionMsg_Loaded(params));
-}
-
-void RendererStartupHelper::OnExtensionUnloaded(const ExtensionId& id) {
- for (content::RenderProcessHost* process : initialized_processes_)
- process->Send(new ExtensionMsg_Unloaded(id));
- for (auto& process_extensions_pair : pending_active_extensions_)
- process_extensions_pair.second.erase(id);
}
//////////////////////////////////////////////////////////////////////////////
« no previous file with comments | « extensions/browser/renderer_startup_helper.h ('k') | extensions/renderer/dispatcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698