Index: extensions/browser/updater/manifest_fetch_data.h |
diff --git a/extensions/browser/updater/manifest_fetch_data.h b/extensions/browser/updater/manifest_fetch_data.h |
index 0a31846d4eccdc4fa0b3488e7d2085a0247ebdd6..e565deec6c300d7c5d333eb16ab9e58b2e76a774 100644 |
--- a/extensions/browser/updater/manifest_fetch_data.h |
+++ b/extensions/browser/updater/manifest_fetch_data.h |
@@ -44,6 +44,16 @@ class ManifestFetchData { |
ACTIVE, |
}; |
+ // What is the priority of the update request. |
+ enum FetchPriority { |
+ // Used for update requests not initiated by a user, for example regular |
+ // extension updates started by the scheduler. |
+ BACKGROUND, |
+ |
+ // Used for on-demate update requests i.e. requests initiated by a users. |
+ FOREGROUND, |
+ }; |
+ |
struct PingData { |
// The number of days it's been since our last rollcall or active ping, |
// respectively. These are calculated based on the start of day from the |
@@ -74,22 +84,27 @@ class ManifestFetchData { |
int request_id, |
const std::string& brand_code, |
const std::string& base_query_params, |
- PingMode ping_mode); |
+ PingMode ping_mode, |
+ FetchPriority fetch_priority); |
~ManifestFetchData(); |
// Returns true if this extension information was successfully added. If the |
- // return value is false it means the full_url would have become too long, and |
+ // return value is false it means the full_url would have become too long or |
+ // the request type is not compatible the current request type, and |
// this ManifestFetchData object remains unchanged. |
bool AddExtension(const std::string& id, |
const std::string& version, |
const PingData* ping_data, |
const std::string& update_url_data, |
- const std::string& install_source); |
+ const std::string& install_source, |
+ FetchPriority fetch_priority); |
const GURL& base_url() const { return base_url_; } |
const GURL& full_url() const { return full_url_; } |
const std::set<std::string>& extension_ids() const { return extension_ids_; } |
const std::set<int>& request_ids() const { return request_ids_; } |
+ bool foreground_check() const { return fetch_priority_ == FOREGROUND; } |
+ FetchPriority fetch_priority() const { return fetch_priority_; } |
// Returns true if the given id is included in this manifest fetch. |
bool Includes(const std::string& extension_id) const; |
@@ -132,6 +147,9 @@ class ManifestFetchData { |
// (and possibly extra metrics) will be included in the fetch query. |
const PingMode ping_mode_; |
+ // The priority of the update. |
+ FetchPriority fetch_priority_; |
+ |
DISALLOW_COPY_AND_ASSIGN(ManifestFetchData); |
}; |