| 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 51ff68dd164c68d76a968a693b490020031937d6..fa77b223c41a2547325dd94323e9cec3d91b1983 100644
|
| --- a/chrome/browser/download/download_item_model.cc
|
| +++ b/chrome/browser/download/download_item_model.cc
|
| @@ -70,6 +70,9 @@ class DownloadItemModelData : public base::SupportsUserData::Data {
|
| // Whether the download is currently being revived.
|
| bool is_being_revived_;
|
|
|
| + // Whether download was opened or shown in the shell.
|
| + bool opened_or_shown_;
|
| +
|
| private:
|
| DownloadItemModelData();
|
| ~DownloadItemModelData() override {}
|
| @@ -103,7 +106,8 @@ DownloadItemModelData::DownloadItemModelData()
|
| was_ui_notified_(false),
|
| should_prefer_opening_in_browser_(false),
|
| danger_level_(DownloadFileType::NOT_DANGEROUS),
|
| - is_being_revived_(false) {}
|
| + is_being_revived_(false),
|
| + opened_or_shown_(false) {}
|
|
|
| base::string16 InterruptReasonStatusMessage(
|
| content::DownloadInterruptReason reason) {
|
| @@ -659,6 +663,16 @@ void DownloadItemModel::SetIsBeingRevived(bool is_being_revived) {
|
| data->is_being_revived_ = is_being_revived;
|
| }
|
|
|
| +bool DownloadItemModel::GetOpenedOrShown() const {
|
| + const DownloadItemModelData* data = DownloadItemModelData::Get(download_);
|
| + return download_->GetOpened() || (data && data->opened_or_shown_);
|
| +}
|
| +
|
| +void DownloadItemModel::SetOpenedOrShown(bool opened_or_shown) {
|
| + DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_);
|
| + data->opened_or_shown_ = opened_or_shown;
|
| +}
|
| +
|
| base::string16 DownloadItemModel::GetProgressSizesString() const {
|
| base::string16 size_ratio;
|
| int64_t size = GetCompletedBytes();
|
|
|