Index: chrome/browser/extensions/component_loader.h |
diff --git a/chrome/browser/extensions/component_loader.h b/chrome/browser/extensions/component_loader.h |
index ec7726975f7ae09c1253f8025e5b8858396beb75..a2577eb25b0081c4a039e5fdf867196dd461b401 100644 |
--- a/chrome/browser/extensions/component_loader.h |
+++ b/chrome/browser/extensions/component_loader.h |
@@ -41,9 +41,14 @@ class ComponentLoader : public content::NotificationObserver { |
const Extension* Add(int manifest_resource_id, |
const FilePath& root_directory); |
+ // Loads a component extension from file system. Replaces previously added |
+ // extension with the same ID. |
+ const Extension* AddOrReplace(const FilePath& path); |
+ |
// Unloads a component extension and removes it from the list of component |
// extensions to be loaded. |
void Remove(const FilePath& root_directory); |
+ void Remove(const std::string& id); |
// Adds the default component extensions. |
// |
@@ -69,6 +74,10 @@ class ComponentLoader : public content::NotificationObserver { |
// Clear the list of registered extensions. |
void ClearAllRegistered(); |
+ size_t GetRegisteredExtensionsCount() const { |
Aaron Boodman
2011/12/06 19:43:35
Sorry I didn't notice this earlier: This should be
SeRya
2011/12/06 22:19:37
Done.
|
+ return component_extensions_.size(); |
+ } |
+ |
private: |
// Information about a registered component extension. |
struct ComponentExtensionInfo { |
@@ -96,6 +105,12 @@ class ComponentLoader : public content::NotificationObserver { |
// Add the enterprise webstore extension, or reload it if already loaded. |
void AddOrReloadEnterpriseWebStore(); |
+ // Returns true if an extension with the specified id has been added. |
+ bool Exists(const std::string& id) const; |
+ |
+ // Determine the extension id. |
+ static std::string GenerateId(const base::DictionaryValue* manifest); |
+ |
PrefService* prefs_; |
PrefService* local_state_; |