Index: extensions/browser/extension_registry.h |
diff --git a/extensions/browser/extension_registry.h b/extensions/browser/extension_registry.h |
index 50f75c9b7cdb42e45cc3c14457e086d02c493345..7428e5fc44d4e6cc6a5839703c849f400ce75d2d 100644 |
--- a/extensions/browser/extension_registry.h |
+++ b/extensions/browser/extension_registry.h |
@@ -33,12 +33,13 @@ class ExtensionRegistry : public KeyedService { |
public: |
// Flags to pass to GetExtensionById() to select which sets to look in. |
enum IncludeFlag { |
- NONE = 0, |
- ENABLED = 1 << 0, |
- DISABLED = 1 << 1, |
- TERMINATED = 1 << 2, |
+ NONE = 0, |
+ ENABLED = 1 << 0, |
+ DISABLED = 1 << 1, |
+ TERMINATED = 1 << 2, |
BLACKLISTED = 1 << 3, |
- EVERYTHING = (1 << 4) - 1, |
+ BLOCKED = 1 << 4, |
+ EVERYTHING = (1 << 5) - 1, |
}; |
explicit ExtensionRegistry(content::BrowserContext* browser_context); |
@@ -63,6 +64,7 @@ class ExtensionRegistry : public KeyedService { |
const ExtensionSet& blacklisted_extensions() const { |
return blacklisted_extensions_; |
} |
+ const ExtensionSet& blocked_extensions() const { return blocked_extensions_; } |
// Returns a set of all installed, disabled, blacklisted, and terminated |
// extensions. |
@@ -136,6 +138,10 @@ class ExtensionRegistry : public KeyedService { |
bool AddBlacklisted(const scoped_refptr<const Extension>& extension); |
bool RemoveBlacklisted(const std::string& id); |
+ // As above, but for the blocked set. |
+ bool AddBlocked(const scoped_refptr<const Extension>& extension); |
+ bool RemoveBlocked(const std::string& id); |
+ |
// Removes all extensions from all sets. |
void ClearAll(); |
@@ -164,6 +170,9 @@ class ExtensionRegistry : public KeyedService { |
// un-blacklisted. |
ExtensionSet blacklisted_extensions_; |
+ // Extensions that are installed and blocked. Will never be loaded. |
+ ExtensionSet blocked_extensions_; |
+ |
ObserverList<ExtensionRegistryObserver> observers_; |
content::BrowserContext* const browser_context_; |