Chromium Code Reviews| Index: chrome/browser/extensions/extension_service.h | 
| diff --git a/chrome/browser/extensions/extension_service.h b/chrome/browser/extensions/extension_service.h | 
| index 8fc0081163175bc4ae4f4bc70c7e36d578760a05..a58a7c4bfc46fa0668284e984de812ef600026cb 100644 | 
| --- a/chrome/browser/extensions/extension_service.h | 
| +++ b/chrome/browser/extensions/extension_service.h | 
| @@ -210,14 +210,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* | 
| @@ -843,6 +843,11 @@ class ExtensionService | 
| // extensions::Blacklist::Observer implementation. | 
| virtual void OnBlacklistUpdated() OVERRIDE; | 
| + // Manages the blacklisted extensions, intended as callback from | 
| + // Blacklist::IsBlacklisted. | 
| + 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_; | 
| @@ -852,6 +857,9 @@ class ExtensionService | 
| // Preferences for the owning profile (weak reference). | 
| extensions::ExtensionPrefs* extension_prefs_; | 
| + // Blacklist for the owning profile (weak reference). | 
| 
 
asargent_no_longer_on_chrome
2012/11/30 21:44:22
optional suggestion: Whenever I see "weak referenc
 
not at google - send to devlin
2012/11/30 23:09:54
Done.
TBH I thought the "weak reference" thing wa
 
asargent_no_longer_on_chrome
2012/11/30 23:30:25
Good point.
 
 | 
| + extensions::Blacklist* blacklist_; | 
| + | 
| // Settings for the owning profile. | 
| scoped_ptr<extensions::SettingsFrontend> settings_frontend_; | 
| @@ -864,6 +872,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_; |