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

Unified Diff: extensions/browser/extension_registry.h

Issue 131743021: app_shell: Extract extension runtime data from ExtensionService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add ExtensionRegistry observer (runtime_data) Created 6 years, 11 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 | « chrome/chrome_tests_unit.gypi ('k') | extensions/browser/extension_registry.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/browser/extension_registry.h
diff --git a/extensions/browser/extension_registry.h b/extensions/browser/extension_registry.h
index d878e61e84db8ec44e56741cad14925dd997c038..b7c5c907112b4ceccc220e8fb27f6f08bb9840cc 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,10 @@ class ExtensionRegistry : public BrowserContextKeyedService {
return blacklisted_extensions_;
}
+ // The usual observer interface.
+ void AddObserver(ExtensionRegistryObserver* observer);
+ void RemoveObserver(ExtensionRegistryObserver* observer);
+
// Find an extension by ID using |include_mask| to pick the sets to search:
// * enabled_extensions() --> ExtensionRegistry::ENABLED
// * disabled_extensions() --> ExtensionRegistry::DISABLED
@@ -64,6 +70,19 @@ class ExtensionRegistry : public BrowserContextKeyedService {
const Extension* GetExtensionById(const std::string& id,
int include_mask) const;
+ // Removes an extension from the enabled and disabled sets. Invokes the
+ // observer method OnExtensionUnloaded() after the extension is removed.
+ void UnloadExtension(const scoped_refptr<const Extension>& extension);
not at google - send to devlin 2014/01/21 23:58:59 I kind of preferred the way it was... making this
+
+ // Moves an extension to the enabled set from the disabled set. The extension
+ // must exist in the disabled set.
+ void EnableExtension(const scoped_refptr<const Extension>& extension);
James Cook 2014/01/21 23:20:39 By adding this function and the one below I was ab
+
+ // Adds an extension to the disabled set and removes it from the enabled
+ // and terminated sets. Invokes the observer method OnExtensionDisabled()
+ // after the extension is added.
+ void DisableExtension(const scoped_refptr<const Extension>& extension);
+
// Adds the specified extension to the enabled set. The registry becomes an
// owner. Any previous extension with the same ID is removed.
// Returns true if there is no previous extension.
@@ -71,15 +90,8 @@ class ExtensionRegistry : public BrowserContextKeyedService {
// method directly.
bool AddEnabled(const scoped_refptr<const Extension>& extension);
- // Removes the specified extension from the enabled set.
- // Returns true if the set contained the specified extension.
- // NOTE: You probably want to use ExtensionService instead of calling this
- // method directly.
- bool RemoveEnabled(const std::string& id);
-
// As above, but for the disabled set.
bool AddDisabled(const scoped_refptr<const Extension>& extension);
- bool RemoveDisabled(const std::string& id);
// As above, but for the terminated set.
bool AddTerminated(const scoped_refptr<const Extension>& extension);
@@ -117,6 +129,8 @@ class ExtensionRegistry : public BrowserContextKeyedService {
// un-blacklisted.
ExtensionSet blacklisted_extensions_;
+ ObserverList<ExtensionRegistryObserver> observers_;
+
DISALLOW_COPY_AND_ASSIGN(ExtensionRegistry);
};
« no previous file with comments | « chrome/chrome_tests_unit.gypi ('k') | extensions/browser/extension_registry.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698