| Index: extensions/browser/extension_registry.h
|
| diff --git a/extensions/browser/extension_registry.h b/extensions/browser/extension_registry.h
|
| index d878e61e84db8ec44e56741cad14925dd997c038..89256e1583eb9f902eecec627febf5b588d9634f 100644
|
| --- a/extensions/browser/extension_registry.h
|
| +++ b/extensions/browser/extension_registry.h
|
| @@ -9,6 +9,7 @@
|
|
|
| #include "base/compiler_specific.h"
|
| #include "base/memory/ref_counted.h"
|
| +#include "base/observer_list.h"
|
| #include "components/browser_context_keyed_service/browser_context_keyed_service.h"
|
| #include "extensions/common/extension_set.h"
|
|
|
| @@ -18,6 +19,7 @@ class BrowserContext;
|
|
|
| namespace extensions {
|
| class Extension;
|
| +class ExtensionRegistryObserver;
|
|
|
| // ExtensionRegistry holds sets of the installed extensions for a given
|
| // BrowserContext. An incognito browser context and its master browser context
|
| @@ -55,6 +57,14 @@ class ExtensionRegistry : public BrowserContextKeyedService {
|
| return blacklisted_extensions_;
|
| }
|
|
|
| + // The usual observer interface.
|
| + void AddObserver(ExtensionRegistryObserver* observer);
|
| + void RemoveObserver(ExtensionRegistryObserver* observer);
|
| +
|
| + // Invokes the observer method OnExtensionUnloaded(). The extension must not
|
| + // be enabled at the time of the call.
|
| + void TriggerOnUnloaded(const Extension* extension);
|
| +
|
| // Find an extension by ID using |include_mask| to pick the sets to search:
|
| // * enabled_extensions() --> ExtensionRegistry::ENABLED
|
| // * disabled_extensions() --> ExtensionRegistry::DISABLED
|
| @@ -117,6 +127,8 @@ class ExtensionRegistry : public BrowserContextKeyedService {
|
| // un-blacklisted.
|
| ExtensionSet blacklisted_extensions_;
|
|
|
| + ObserverList<ExtensionRegistryObserver> observers_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(ExtensionRegistry);
|
| };
|
|
|
|
|