Index: chrome/browser/extensions/extension_service.h |
diff --git a/chrome/browser/extensions/extension_service.h b/chrome/browser/extensions/extension_service.h |
index 7b025ad690cb47b3303dd5be45e6641294ec5eb8..13e3583bfcfc141588661d9405e6226efd21498c 100644 |
--- a/chrome/browser/extensions/extension_service.h |
+++ b/chrome/browser/extensions/extension_service.h |
@@ -211,14 +211,14 @@ class ExtensionService |
virtual const ExtensionSet* extensions() const OVERRIDE; |
virtual const ExtensionSet* disabled_extensions() const OVERRIDE; |
const ExtensionSet* terminated_extensions() const; |
+ const ExtensionSet* blacklisted_extensions() const; |
- // Returns a set of all installed, disabled, and terminated extensions and |
- // transfers ownership to caller. |
- const ExtensionSet* GenerateInstalledExtensionsSet() const; |
+ // Returns a set of all installed, disabled, and terminated extensions. |
+ scoped_ptr<const ExtensionSet> GenerateInstalledExtensionsSet() const; |
// Returns a set of all extensions disabled by the sideload wipeout |
// initiative. |
- const ExtensionSet* GetWipedOutExtensions() const; |
+ scoped_ptr<const ExtensionSet> GetWipedOutExtensions() const; |
// Gets the object managing the set of pending extensions. |
virtual extensions::PendingExtensionManager* |
@@ -844,15 +844,23 @@ class ExtensionService |
// extensions::Blacklist::Observer implementation. |
virtual void OnBlacklistUpdated() OVERRIDE; |
+ // Manages the blacklisted extensions, intended as callback from |
+ // Blacklist::GetBlacklistedIDs. |
+ void ManageBlacklist(const std::set<std::string>& old_blacklisted_ids, |
+ const std::set<std::string>& new_blacklisted_ids); |
+ |
// The normal profile associated with this ExtensionService. |
Profile* profile_; |
// The ExtensionSystem for the profile above. |
extensions::ExtensionSystem* system_; |
- // Preferences for the owning profile (weak reference). |
+ // Preferences for the owning profile. |
extensions::ExtensionPrefs* extension_prefs_; |
+ // Blacklist for the owning profile. |
+ extensions::Blacklist* blacklist_; |
+ |
// Settings for the owning profile. |
scoped_ptr<extensions::SettingsFrontend> settings_frontend_; |
@@ -865,6 +873,12 @@ class ExtensionService |
// The list of installed extensions that have been terminated. |
ExtensionSet terminated_extensions_; |
+ // The list of installed extensions that have been blacklisted. Generally |
+ // these shouldn't be considered as installed by the extension platform: we |
+ // only keep them around so that if extensions are blacklisted by mistake |
+ // they can easily be un-blacklisted. |
+ ExtensionSet blacklisted_extensions_; |
+ |
// The list of extension updates that are waiting to be installed. |
ExtensionSet pending_extension_updates_; |