diff options
author | skerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-25 16:43:37 +0000 |
---|---|---|
committer | skerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-25 16:43:37 +0000 |
commit | b2907fdad77e3bef53604f1b7a8370d92d79be3e (patch) | |
tree | 4377126f7da6d7197d877e06cab7c7eb86f35156 /chrome/browser/extensions/pending_extension_info.h | |
parent | 68bf41ae4642cc0b1ad6f9d5c4050acaf3d7d1d5 (diff) | |
download | chromium_src-b2907fdad77e3bef53604f1b7a8370d92d79be3e.zip chromium_src-b2907fdad77e3bef53604f1b7a8370d92d79be3e.tar.gz chromium_src-b2907fdad77e3bef53604f1b7a8370d92d79be3e.tar.bz2 |
Move ExtensionService code that manages pending extensions into its own class.
This change should have no impact on chrome's behavior.
Once all code paths that install an extension inform PendingExtensionManger that they are starting an install, we can correctly merge requests to install the same extension from multiple sources. This will remove two hacky checks to avoid install races we have seen on Chrome Os. It will also ensure that more hacks are not needed.
BUG=61000
TEST=ExtensionUpdaterTest.*:ExtensionServiceTest.*'
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=79407
Review URL: http://codereview.chromium.org/6670055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79414 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/pending_extension_info.h')
-rw-r--r-- | chrome/browser/extensions/pending_extension_info.h | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/chrome/browser/extensions/pending_extension_info.h b/chrome/browser/extensions/pending_extension_info.h index 6f74ecf..0841210 100644 --- a/chrome/browser/extensions/pending_extension_info.h +++ b/chrome/browser/extensions/pending_extension_info.h @@ -6,9 +6,6 @@ #define CHROME_BROWSER_EXTENSIONS_PENDING_EXTENSION_INFO_H_ #pragma once -#include <map> -#include <string> - #include "chrome/common/extensions/extension.h" class GURL; @@ -17,6 +14,8 @@ class GURL; // and is intended to be installed in the next auto-update cycle. The // update URL of a pending extension may be blank, in which case a // default one is assumed. +// TODO(skerner): Make this class an implementation detail of +// PendingExtensionManager, and remove all other users. class PendingExtensionInfo { public: typedef bool (*ShouldAllowInstallPredicate)(const Extension&); @@ -30,7 +29,7 @@ class PendingExtensionInfo { bool enable_incognito_on_install, Extension::Location install_source); - // Required for STL container membership. Should not be used. + // Required for STL container membership. Should not be used directly. PendingExtensionInfo(); const GURL& update_url() const { return update_url_; } @@ -69,8 +68,4 @@ class PendingExtensionInfo { FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, AddPendingExtensionFromSync); }; -// A PendingExtensionMap is a map from IDs of pending extensions to -// their info. -typedef std::map<std::string, PendingExtensionInfo> PendingExtensionMap; - #endif // CHROME_BROWSER_EXTENSIONS_PENDING_EXTENSION_INFO_H_ |