Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4962)

Unified Diff: chrome/browser/extensions/extension_service.h

Issue 11415216: Make Blacklist::IsBlacklist asynchronous (it will need to be for safe (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698