Index: chrome/browser/extensions/extension_prefs.h |
diff --git a/chrome/browser/extensions/extension_prefs.h b/chrome/browser/extensions/extension_prefs.h |
index c4a9b3eaa8cd1a756887e54cbec7f7a24a75b1a7..893547c93c9ab6d933e32aeb26caccaf88054973 100644 |
--- a/chrome/browser/extensions/extension_prefs.h |
+++ b/chrome/browser/extensions/extension_prefs.h |
@@ -83,6 +83,17 @@ class ExtensionPrefs : public ContentSettingsStore::Observer, |
LAUNCH_DEFAULT = LAUNCH_REGULAR |
}; |
+ // This enum is used to store the reason an extension's install has been |
+ // delayed. Do not remove items or re-order this enum as it is used in |
+ // preferences. |
+ enum DelayReason { |
+ DELAY_REASON_NONE = 0, |
+ DELAY_REASON_GC = 1, |
+ DELAY_REASON_WAIT_FOR_IDLE = 2, |
+ DELAY_REASON_WAIT_FOR_IMPORTS = 3, |
+ }; |
+ |
+ |
// Creates base::Time classes. The default implementation is just to return |
// the current time, but tests can inject alternative implementations. |
class TimeProvider { |
@@ -396,9 +407,10 @@ class ExtensionPrefs : public ContentSettingsStore::Observer, |
const std::string& extension_id) const; |
// We've downloaded an updated .crx file for the extension, but are waiting |
- // for idle time to install it. |
+ // to install it. |
void SetDelayedInstallInfo(const Extension* extension, |
Extension::State initial_state, |
+ DelayReason delay_reason, |
const syncer::StringOrdinal& page_ordinal); |
// Removes any delayed install information we have for the given |
@@ -413,6 +425,8 @@ class ExtensionPrefs : public ContentSettingsStore::Observer, |
scoped_ptr<ExtensionInfo> GetDelayedInstallInfo( |
const std::string& extension_id) const; |
+ DelayReason GetDelayedInstallReason(const std::string& extension_id) const; |
+ |
// Returns information about all the extensions that have delayed install |
// information. |
scoped_ptr<ExtensionsInfo> GetAllDelayedInstallInfo() const; |
@@ -463,6 +477,9 @@ class ExtensionPrefs : public ContentSettingsStore::Observer, |
// Returns the creation flags mask for the extension. |
int GetCreationFlags(const std::string& extension_id) const; |
+ // Returns the creation flags mask for a delayed install extension. |
+ int GetDelayedInstallCreationFlags(const std::string& extension_id) const; |
+ |
// Returns true if the extension was installed from the Chrome Web Store. |
bool IsFromWebStore(const std::string& extension_id) const; |