Chromium Code Reviews| Index: chrome/browser/extensions/api/declarative/rules_registry_service.cc |
| diff --git a/chrome/browser/extensions/api/declarative/rules_registry_service.cc b/chrome/browser/extensions/api/declarative/rules_registry_service.cc |
| index 42d0ca4f0dee829a94200402941362b3665a0fcb..aba40bbd00a4efeb80094cbbec1230b7e9d61386 100644 |
| --- a/chrome/browser/extensions/api/declarative/rules_registry_service.cc |
| +++ b/chrome/browser/extensions/api/declarative/rules_registry_service.cc |
| @@ -20,6 +20,7 @@ |
| #include "content/public/browser/notification_service.h" |
| #include "content/public/browser/notification_source.h" |
| #include "content/public/browser/render_process_host.h" |
| +#include "extensions/browser/extension_registry.h" |
| #include "extensions/common/extension.h" |
| namespace extensions { |
| @@ -43,17 +44,13 @@ bool IsWebView(const RulesRegistryService::WebViewKey& webview_key) { |
| RulesRegistryService::RulesRegistryService(content::BrowserContext* context) |
| : content_rules_registry_(NULL), |
| + extension_registry_observer_(this), |
| profile_(Profile::FromBrowserContext(context)) { |
| if (profile_) { |
| - registrar_.Add(this, |
| - chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED, |
| - content::Source<Profile>(profile_->GetOriginalProfile())); |
| + extension_registry_observer_.Add(ExtensionRegistry::Get(profile_)); |
| registrar_.Add(this, |
| chrome::NOTIFICATION_EXTENSION_UNINSTALLED, |
| content::Source<Profile>(profile_->GetOriginalProfile())); |
| - registrar_.Add(this, |
| - chrome::NOTIFICATION_EXTENSION_LOADED_DEPRECATED, |
| - content::Source<Profile>(profile_->GetOriginalProfile())); |
| registrar_.Add( |
| this, content::NOTIFICATION_RENDERER_PROCESS_TERMINATED, |
| content::NotificationService::AllBrowserContextsAndSources()); |
| @@ -206,18 +203,23 @@ void RulesRegistryService::NotifyRegistriesHelper( |
| } |
| } |
| +void RulesRegistryService::OnExtensionLoaded( |
| + content::BrowserContext* browser_context, |
| + const Extension* extension) { |
| + NotifyRegistriesHelper(&RulesRegistry::OnExtensionLoaded, extension->id()); |
| +} |
|
not at google - send to devlin
2014/05/12 17:53:27
blank line here
limasdf
2014/05/12 23:19:50
Done.
|
| +void RulesRegistryService::OnExtensionUnloaded( |
| + content::BrowserContext* browser_context, |
| + const Extension* extension, |
| + UnloadedExtensionInfo::Reason reason) { |
| + NotifyRegistriesHelper(&RulesRegistry::OnExtensionUnloaded, extension->id()); |
| +} |
| + |
| void RulesRegistryService::Observe( |
| int type, |
| const content::NotificationSource& source, |
| const content::NotificationDetails& details) { |
| switch (type) { |
| - case chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED: { |
| - const Extension* extension = |
| - content::Details<UnloadedExtensionInfo>(details)->extension; |
| - NotifyRegistriesHelper(&RulesRegistry::OnExtensionUnloaded, |
| - extension->id()); |
| - break; |
| - } |
| case chrome::NOTIFICATION_EXTENSION_UNINSTALLED: { |
| const Extension* extension = |
| content::Details<const Extension>(details).ptr(); |
| @@ -225,13 +227,6 @@ void RulesRegistryService::Observe( |
| extension->id()); |
| break; |
| } |
| - case chrome::NOTIFICATION_EXTENSION_LOADED_DEPRECATED: { |
| - const Extension* extension = |
| - content::Details<const Extension>(details).ptr(); |
| - NotifyRegistriesHelper(&RulesRegistry::OnExtensionLoaded, |
| - extension->id()); |
| - break; |
| - } |
| case content::NOTIFICATION_RENDERER_PROCESS_TERMINATED: { |
| content::RenderProcessHost* process = |
| content::Source<content::RenderProcessHost>(source).ptr(); |