Index: chrome/browser/download/download_item_model.cc |
diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/download/download_item_model.cc |
index f1ef10f5bcfbf2dc4d54c27888feb39e1a25f73e..f29d7e937c5156d71c9d092845afe9a20ff1a48e 100644 |
--- a/chrome/browser/download/download_item_model.cc |
+++ b/chrome/browser/download/download_item_model.cc |
@@ -63,6 +63,9 @@ class DownloadItemModelData : public base::SupportsUserData::Data { |
// come up with a verdict. |
bool is_dangerous_file_based_on_type_; |
+ // Whether the download is currently being revived. |
+ bool is_being_revived_; |
+ |
private: |
DownloadItemModelData(); |
~DownloadItemModelData() override {} |
@@ -95,7 +98,8 @@ DownloadItemModelData::DownloadItemModelData() |
: should_show_in_shelf_(true), |
was_ui_notified_(false), |
should_prefer_opening_in_browser_(false), |
- is_dangerous_file_based_on_type_(false) { |
+ is_dangerous_file_based_on_type_(false), |
+ is_being_revived_(false) { |
} |
base::string16 InterruptReasonStatusMessage(int reason) { |
@@ -610,6 +614,16 @@ void DownloadItemModel::SetIsDangerousFileBasedOnType(bool dangerous) { |
data->is_dangerous_file_based_on_type_ = dangerous; |
} |
+bool DownloadItemModel::IsBeingRevived() const { |
+ const DownloadItemModelData* data = DownloadItemModelData::Get(download_); |
+ return data && data->is_being_revived_; |
+} |
+ |
+void DownloadItemModel::SetIsBeingRevived(bool is_being_revived) { |
+ DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_); |
+ data->is_being_revived_ = is_being_revived; |
+} |
+ |
base::string16 DownloadItemModel::GetProgressSizesString() const { |
base::string16 size_ratio; |
int64 size = GetCompletedBytes(); |