Index: extensions/browser/extension_registry.cc |
diff --git a/extensions/browser/extension_registry.cc b/extensions/browser/extension_registry.cc |
index bc5247cdce2002d9cadaf121809d15f0bcbc8e59..5c4cf5d4a90eb2215659b9f91b9177e96d828d76 100644 |
--- a/extensions/browser/extension_registry.cc |
+++ b/extensions/browser/extension_registry.cc |
@@ -6,6 +6,7 @@ |
#include "base/strings/string_util.h" |
#include "extensions/browser/extension_registry_factory.h" |
+#include "extensions/browser/extension_registry_observer.h" |
namespace extensions { |
@@ -17,6 +18,20 @@ ExtensionRegistry* ExtensionRegistry::Get(content::BrowserContext* context) { |
return ExtensionRegistryFactory::GetForBrowserContext(context); |
} |
+void ExtensionRegistry::AddObserver(ExtensionRegistryObserver* observer) { |
+ observers_.AddObserver(observer); |
+} |
+ |
+void ExtensionRegistry::RemoveObserver(ExtensionRegistryObserver* observer) { |
+ observers_.RemoveObserver(observer); |
+} |
+ |
+void ExtensionRegistry::TriggerOnUnloaded(const Extension* extension) { |
+ DCHECK(!enabled_extensions_.Contains(extension->id())); |
+ FOR_EACH_OBSERVER( |
+ ExtensionRegistryObserver, observers_, OnExtensionUnloaded(extension)); |
+} |
+ |
const Extension* ExtensionRegistry::GetExtensionById(const std::string& id, |
int include_mask) const { |
std::string lowercase_id = StringToLowerASCII(id); |