| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "chrome/browser/download/download_item_model.h" | 5 #include "chrome/browser/download/download_item_model.h" | 
| 6 | 6 | 
| 7 #include "base/i18n/number_formatting.h" | 7 #include "base/i18n/number_formatting.h" | 
| 8 #include "base/i18n/rtl.h" | 8 #include "base/i18n/rtl.h" | 
| 9 #include "base/metrics/field_trial.h" | 9 #include "base/metrics/field_trial.h" | 
| 10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" | 
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 63   // for the file type. | 63   // for the file type. | 
| 64   bool should_prefer_opening_in_browser_; | 64   bool should_prefer_opening_in_browser_; | 
| 65 | 65 | 
| 66   // Danger level of the file determined based on the file type and whether | 66   // Danger level of the file determined based on the file type and whether | 
| 67   // there was a user action associated with the download. | 67   // there was a user action associated with the download. | 
| 68   DownloadFileType::DangerLevel danger_level_; | 68   DownloadFileType::DangerLevel danger_level_; | 
| 69 | 69 | 
| 70   // Whether the download is currently being revived. | 70   // Whether the download is currently being revived. | 
| 71   bool is_being_revived_; | 71   bool is_being_revived_; | 
| 72 | 72 | 
|  | 73   // Whether download was opened or shown in the shell. | 
|  | 74   bool opened_or_shown_; | 
|  | 75 | 
| 73  private: | 76  private: | 
| 74   DownloadItemModelData(); | 77   DownloadItemModelData(); | 
| 75   ~DownloadItemModelData() override {} | 78   ~DownloadItemModelData() override {} | 
| 76 | 79 | 
| 77   static const char kKey[]; | 80   static const char kKey[]; | 
| 78 }; | 81 }; | 
| 79 | 82 | 
| 80 // static | 83 // static | 
| 81 const char DownloadItemModelData::kKey[] = "DownloadItemModelData key"; | 84 const char DownloadItemModelData::kKey[] = "DownloadItemModelData key"; | 
| 82 | 85 | 
| (...skipping 13 matching lines...) Expand all  Loading... | 
| 96     download->SetUserData(kKey, data); | 99     download->SetUserData(kKey, data); | 
| 97   } | 100   } | 
| 98   return data; | 101   return data; | 
| 99 } | 102 } | 
| 100 | 103 | 
| 101 DownloadItemModelData::DownloadItemModelData() | 104 DownloadItemModelData::DownloadItemModelData() | 
| 102     : should_show_in_shelf_(true), | 105     : should_show_in_shelf_(true), | 
| 103       was_ui_notified_(false), | 106       was_ui_notified_(false), | 
| 104       should_prefer_opening_in_browser_(false), | 107       should_prefer_opening_in_browser_(false), | 
| 105       danger_level_(DownloadFileType::NOT_DANGEROUS), | 108       danger_level_(DownloadFileType::NOT_DANGEROUS), | 
| 106       is_being_revived_(false) {} | 109       is_being_revived_(false), | 
|  | 110       opened_or_shown_(false) {} | 
| 107 | 111 | 
| 108 base::string16 InterruptReasonStatusMessage( | 112 base::string16 InterruptReasonStatusMessage( | 
| 109     content::DownloadInterruptReason reason) { | 113     content::DownloadInterruptReason reason) { | 
| 110   int string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS; | 114   int string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS; | 
| 111 | 115 | 
| 112   switch (reason) { | 116   switch (reason) { | 
| 113     case content::DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED: | 117     case content::DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED: | 
| 114       string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_ACCESS_DENIED; | 118       string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_ACCESS_DENIED; | 
| 115       break; | 119       break; | 
| 116     case content::DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE: | 120     case content::DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE: | 
| (...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 652 bool DownloadItemModel::IsBeingRevived() const { | 656 bool DownloadItemModel::IsBeingRevived() const { | 
| 653   const DownloadItemModelData* data = DownloadItemModelData::Get(download_); | 657   const DownloadItemModelData* data = DownloadItemModelData::Get(download_); | 
| 654   return data && data->is_being_revived_; | 658   return data && data->is_being_revived_; | 
| 655 } | 659 } | 
| 656 | 660 | 
| 657 void DownloadItemModel::SetIsBeingRevived(bool is_being_revived) { | 661 void DownloadItemModel::SetIsBeingRevived(bool is_being_revived) { | 
| 658   DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_); | 662   DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_); | 
| 659   data->is_being_revived_ = is_being_revived; | 663   data->is_being_revived_ = is_being_revived; | 
| 660 } | 664 } | 
| 661 | 665 | 
|  | 666 bool DownloadItemModel::GetOpenedOrShown() const { | 
|  | 667   const DownloadItemModelData* data = DownloadItemModelData::Get(download_); | 
|  | 668   return download_->GetOpened() || (data && data->opened_or_shown_); | 
|  | 669 } | 
|  | 670 | 
|  | 671 void DownloadItemModel::SetOpenedOrShown(bool opened_or_shown) { | 
|  | 672   DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_); | 
|  | 673   data->opened_or_shown_ = opened_or_shown; | 
|  | 674 } | 
|  | 675 | 
| 662 base::string16 DownloadItemModel::GetProgressSizesString() const { | 676 base::string16 DownloadItemModel::GetProgressSizesString() const { | 
| 663   base::string16 size_ratio; | 677   base::string16 size_ratio; | 
| 664   int64_t size = GetCompletedBytes(); | 678   int64_t size = GetCompletedBytes(); | 
| 665   int64_t total = GetTotalBytes(); | 679   int64_t total = GetTotalBytes(); | 
| 666   if (total > 0) { | 680   if (total > 0) { | 
| 667     ui::DataUnits amount_units = ui::GetByteDisplayUnits(total); | 681     ui::DataUnits amount_units = ui::GetByteDisplayUnits(total); | 
| 668     base::string16 simple_size = ui::FormatBytesWithUnits(size, amount_units, fa
     lse); | 682     base::string16 simple_size = ui::FormatBytesWithUnits(size, amount_units, fa
     lse); | 
| 669 | 683 | 
| 670     // In RTL locales, we render the text "size/total" in an RTL context. This | 684     // In RTL locales, we render the text "size/total" in an RTL context. This | 
| 671     // is problematic since a string such as "123/456 MB" is displayed | 685     // is problematic since a string such as "123/456 MB" is displayed | 
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 742   if (!download_service) | 756   if (!download_service) | 
| 743     return; | 757     return; | 
| 744 | 758 | 
| 745   ChromeDownloadManagerDelegate* delegate = | 759   ChromeDownloadManagerDelegate* delegate = | 
| 746       download_service->GetDownloadManagerDelegate(); | 760       download_service->GetDownloadManagerDelegate(); | 
| 747   if (!delegate) | 761   if (!delegate) | 
| 748     return; | 762     return; | 
| 749   delegate->OpenDownloadUsingPlatformHandler(download_); | 763   delegate->OpenDownloadUsingPlatformHandler(download_); | 
| 750   RecordDownloadOpenMethod(DOWNLOAD_OPEN_METHOD_USER_PLATFORM); | 764   RecordDownloadOpenMethod(DOWNLOAD_OPEN_METHOD_USER_PLATFORM); | 
| 751 } | 765 } | 
| OLD | NEW | 
|---|