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

Unified Diff: extensions/browser/event_router.cc

Issue 430243002: Use ExtensionRegistry in EventRouter (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 5 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/event_router.h ('k') | extensions/browser/event_router_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/browser/event_router.cc
diff --git a/extensions/browser/event_router.cc b/extensions/browser/event_router.cc
index d8ae867e95e33f84371337215429bb324b59ae50..fd39a7b64e0472f117e1663df1fefeb0d60ff3fd 100644
--- a/extensions/browser/event_router.cc
+++ b/extensions/browser/event_router.cc
@@ -169,6 +169,7 @@ EventRouter::EventRouter(BrowserContext* browser_context,
ExtensionPrefs* extension_prefs)
: browser_context_(browser_context),
extension_prefs_(extension_prefs),
+ extension_registry_observer_(this),
listeners_(this) {
registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_TERMINATED,
content::NotificationService::AllSources());
@@ -177,12 +178,7 @@ EventRouter::EventRouter(BrowserContext* browser_context,
registrar_.Add(this,
extensions::NOTIFICATION_EXTENSION_ENABLED,
content::Source<BrowserContext>(browser_context_));
- registrar_.Add(this,
- extensions::NOTIFICATION_EXTENSION_LOADED_DEPRECATED,
- content::Source<BrowserContext>(browser_context_));
- registrar_.Add(this,
- extensions::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED,
- content::Source<BrowserContext>(browser_context_));
+ extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context_));
}
EventRouter::~EventRouter() {}
@@ -750,33 +746,29 @@ void EventRouter::Observe(int type,
}
break;
}
- case extensions::NOTIFICATION_EXTENSION_LOADED_DEPRECATED: {
- // Add all registered lazy listeners to our cache.
- const Extension* extension =
- content::Details<const Extension>(details).ptr();
- std::set<std::string> registered_events =
- GetRegisteredEvents(extension->id());
- listeners_.LoadUnfilteredLazyListeners(extension->id(),
- registered_events);
- const DictionaryValue* filtered_events =
- GetFilteredEvents(extension->id());
- if (filtered_events)
- listeners_.LoadFilteredLazyListeners(extension->id(), *filtered_events);
- break;
- }
- case extensions::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED: {
- // Remove all registered lazy listeners from our cache.
- UnloadedExtensionInfo* unloaded =
- content::Details<UnloadedExtensionInfo>(details).ptr();
- listeners_.RemoveLazyListenersForExtension(unloaded->extension->id());
- break;
- }
default:
NOTREACHED();
- return;
}
}
+void EventRouter::OnExtensionLoaded(content::BrowserContext* browser_context,
+ const Extension* extension) {
+ // Add all registered lazy listeners to our cache.
+ std::set<std::string> registered_events =
+ GetRegisteredEvents(extension->id());
+ listeners_.LoadUnfilteredLazyListeners(extension->id(), registered_events);
+ const DictionaryValue* filtered_events = GetFilteredEvents(extension->id());
+ if (filtered_events)
+ listeners_.LoadFilteredLazyListeners(extension->id(), *filtered_events);
+}
+
+void EventRouter::OnExtensionUnloaded(content::BrowserContext* browser_context,
+ const Extension* extension,
+ UnloadedExtensionInfo::Reason reason) {
+ // Remove all registered lazy listeners from our cache.
+ listeners_.RemoveLazyListenersForExtension(extension->id());
+}
+
Event::Event(const std::string& event_name,
scoped_ptr<base::ListValue> event_args)
: event_name(event_name),
« no previous file with comments | « extensions/browser/event_router.h ('k') | extensions/browser/event_router_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698