| 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_;
|
|
|
|
|