Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4079)

Unified Diff: chrome/browser/download/download_item_model.cc

Issue 209613002: Download shelf autohides on showing in shell, just same as regular open Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added browser and unit tests. Renamed 'UserActed' to 'OpenedOrShown'. Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
« no previous file with comments | « chrome/browser/download/download_item_model.h ('k') | chrome/browser/download/download_item_model_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698