| 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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 } | 88 } |
| 89 return data; | 89 return data; |
| 90 } | 90 } |
| 91 | 91 |
| 92 DownloadItemModelData::DownloadItemModelData() | 92 DownloadItemModelData::DownloadItemModelData() |
| 93 : should_show_in_shelf_(true), | 93 : should_show_in_shelf_(true), |
| 94 should_notify_ui_(false) { | 94 should_notify_ui_(false) { |
| 95 } | 95 } |
| 96 | 96 |
| 97 string16 InterruptReasonStatusMessage(int reason) { | 97 string16 InterruptReasonStatusMessage(int reason) { |
| 98 int string_id = 0; | 98 int string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS; |
| 99 | 99 |
| 100 switch (reason) { | 100 switch (static_cast<content::DownloadInterruptReason>(reason)) { |
| 101 case content::DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED: | 101 case content::DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED: |
| 102 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_ACCESS_DENIED; | 102 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_ACCESS_DENIED; |
| 103 break; | 103 break; |
| 104 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE: | 104 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE: |
| 105 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_DISK_FULL; | 105 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_DISK_FULL; |
| 106 break; | 106 break; |
| 107 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG: | 107 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG: |
| 108 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_PATH_TOO_LONG; | 108 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_PATH_TOO_LONG; |
| 109 break; | 109 break; |
| 110 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE: | 110 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE: |
| 111 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_FILE_TOO_LARGE; | 111 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_FILE_TOO_LARGE; |
| 112 break; | 112 break; |
| 113 case content::DOWNLOAD_INTERRUPT_REASON_FILE_VIRUS_INFECTED: | 113 case content::DOWNLOAD_INTERRUPT_REASON_FILE_VIRUS_INFECTED: |
| 114 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_VIRUS; | 114 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_VIRUS; |
| 115 break; | 115 break; |
| 116 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR: | 116 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR: |
| 117 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_TEMPORARY_PROBLEM; | 117 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_TEMPORARY_PROBLEM; |
| 118 break; | 118 break; |
| 119 case content::DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED: | 119 case content::DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED: |
| 120 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_BLOCKED; | 120 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_BLOCKED; |
| 121 break; | 121 break; |
| 122 case content::DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED: | 122 case content::DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED: |
| 123 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SECURITY_CHECK_FAILED; | 123 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SECURITY_CHECK_FAILED; |
| 124 break; | 124 break; |
| 125 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT: | 125 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT: |
| 126 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_FILE_TOO_SHORT; | 126 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_FILE_TOO_SHORT; |
| 127 break; | 127 break; |
| 128 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_INVALID_REQUEST: |
| 128 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED: | 129 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED: |
| 129 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_ERROR; | 130 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_ERROR; |
| 130 break; | 131 break; |
| 131 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT: | 132 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT: |
| 132 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_TIMEOUT; | 133 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_TIMEOUT; |
| 133 break; | 134 break; |
| 134 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED: | 135 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED: |
| 135 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_DISCONNECTED; | 136 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_DISCONNECTED; |
| 136 break; | 137 break; |
| 137 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN: | 138 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN: |
| 138 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SERVER_DOWN; | 139 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SERVER_DOWN; |
| 139 break; | 140 break; |
| 140 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED: | 141 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED: |
| 141 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SERVER_PROBLEM; | 142 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SERVER_PROBLEM; |
| 142 break; | 143 break; |
| 143 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT: | 144 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT: |
| 144 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NO_FILE; | 145 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NO_FILE; |
| 145 break; | 146 break; |
| 146 case content::DOWNLOAD_INTERRUPT_REASON_USER_CANCELED: | 147 case content::DOWNLOAD_INTERRUPT_REASON_USER_CANCELED: |
| 147 string_id = IDS_DOWNLOAD_STATUS_CANCELLED; | 148 string_id = IDS_DOWNLOAD_STATUS_CANCELLED; |
| 148 break; | 149 break; |
| 149 case content::DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN: | 150 case content::DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN: |
| 150 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SHUTDOWN; | 151 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SHUTDOWN; |
| 151 break; | 152 break; |
| 152 case content::DOWNLOAD_INTERRUPT_REASON_CRASH: | 153 case content::DOWNLOAD_INTERRUPT_REASON_CRASH: |
| 153 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_CRASH; | 154 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_CRASH; |
| 154 break; | 155 break; |
| 155 default: | 156 case content::DOWNLOAD_INTERRUPT_REASON_NONE: |
| 157 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_NO_RANGE: |
| 158 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_PRECONDITION: |
| 159 NOTREACHED(); |
| 160 // fallthrough |
| 161 case content::DOWNLOAD_INTERRUPT_REASON_FILE_FAILED: |
| 156 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS; | 162 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS; |
| 157 break; | |
| 158 } | 163 } |
| 159 | 164 |
| 160 return l10n_util::GetStringUTF16(string_id); | 165 return l10n_util::GetStringUTF16(string_id); |
| 161 } | 166 } |
| 162 | 167 |
| 163 string16 InterruptReasonMessage(int reason) { | 168 string16 InterruptReasonMessage(int reason) { |
| 164 int string_id = 0; | 169 int string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS; |
| 165 string16 status_text; | 170 string16 status_text; |
| 166 | 171 |
| 167 switch (reason) { | 172 switch (static_cast<content::DownloadInterruptReason>(reason)) { |
| 168 case content::DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED: | 173 case content::DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED: |
| 169 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_ACCESS_DENIED; | 174 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_ACCESS_DENIED; |
| 170 break; | 175 break; |
| 171 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE: | 176 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE: |
| 172 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_DISK_FULL; | 177 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_DISK_FULL; |
| 173 break; | 178 break; |
| 174 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG: | 179 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG: |
| 175 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_PATH_TOO_LONG; | 180 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_PATH_TOO_LONG; |
| 176 break; | 181 break; |
| 177 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE: | 182 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE: |
| 178 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_FILE_TOO_LARGE; | 183 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_FILE_TOO_LARGE; |
| 179 break; | 184 break; |
| 180 case content::DOWNLOAD_INTERRUPT_REASON_FILE_VIRUS_INFECTED: | 185 case content::DOWNLOAD_INTERRUPT_REASON_FILE_VIRUS_INFECTED: |
| 181 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_VIRUS; | 186 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_VIRUS; |
| 182 break; | 187 break; |
| 183 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR: | 188 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR: |
| 184 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_TEMPORARY_PROBLEM; | 189 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_TEMPORARY_PROBLEM; |
| 185 break; | 190 break; |
| 186 case content::DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED: | 191 case content::DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED: |
| 187 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_BLOCKED; | 192 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_BLOCKED; |
| 188 break; | 193 break; |
| 189 case content::DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED: | 194 case content::DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED: |
| 190 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SECURITY_CHECK_FAILED; | 195 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SECURITY_CHECK_FAILED; |
| 191 break; | 196 break; |
| 192 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT: | 197 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT: |
| 193 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_FILE_TOO_SHORT; | 198 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_FILE_TOO_SHORT; |
| 194 break; | 199 break; |
| 200 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_INVALID_REQUEST: |
| 195 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED: | 201 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED: |
| 196 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_ERROR; | 202 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_ERROR; |
| 197 break; | 203 break; |
| 198 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT: | 204 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT: |
| 199 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_TIMEOUT; | 205 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_TIMEOUT; |
| 200 break; | 206 break; |
| 201 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED: | 207 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED: |
| 202 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_DISCONNECTED; | 208 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_DISCONNECTED; |
| 203 break; | 209 break; |
| 204 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN: | 210 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN: |
| 205 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SERVER_DOWN; | 211 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SERVER_DOWN; |
| 206 break; | 212 break; |
| 207 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED: | 213 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED: |
| 208 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SERVER_PROBLEM; | 214 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SERVER_PROBLEM; |
| 209 break; | 215 break; |
| 210 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT: | 216 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT: |
| 211 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NO_FILE; | 217 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NO_FILE; |
| 212 break; | 218 break; |
| 213 case content::DOWNLOAD_INTERRUPT_REASON_USER_CANCELED: | 219 case content::DOWNLOAD_INTERRUPT_REASON_USER_CANCELED: |
| 214 string_id = IDS_DOWNLOAD_STATUS_CANCELLED; | 220 string_id = IDS_DOWNLOAD_STATUS_CANCELLED; |
| 215 break; | 221 break; |
| 216 case content::DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN: | 222 case content::DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN: |
| 217 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SHUTDOWN; | 223 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SHUTDOWN; |
| 218 break; | 224 break; |
| 219 case content::DOWNLOAD_INTERRUPT_REASON_CRASH: | 225 case content::DOWNLOAD_INTERRUPT_REASON_CRASH: |
| 220 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_CRASH; | 226 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_CRASH; |
| 221 break; | 227 break; |
| 222 default: | 228 case content::DOWNLOAD_INTERRUPT_REASON_NONE: |
| 229 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_NO_RANGE: |
| 230 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_PRECONDITION: |
| 231 NOTREACHED(); |
| 232 // fallthrough |
| 233 case content::DOWNLOAD_INTERRUPT_REASON_FILE_FAILED: |
| 223 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS; | 234 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS; |
| 224 break; | |
| 225 } | 235 } |
| 226 | 236 |
| 227 status_text = l10n_util::GetStringUTF16(string_id); | 237 status_text = l10n_util::GetStringUTF16(string_id); |
| 228 | 238 |
| 229 return status_text; | 239 return status_text; |
| 230 } | 240 } |
| 231 | 241 |
| 232 } // namespace | 242 } // namespace |
| 233 | 243 |
| 234 // ----------------------------------------------------------------------------- | 244 // ----------------------------------------------------------------------------- |
| (...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 581 } | 591 } |
| 582 | 592 |
| 583 // In progress download with no known time left and non-zero completed bytes: | 593 // In progress download with no known time left and non-zero completed bytes: |
| 584 // "100/120 MB" or "100 MB" | 594 // "100/120 MB" or "100 MB" |
| 585 if (GetCompletedBytes() > 0) | 595 if (GetCompletedBytes() > 0) |
| 586 return size_ratio; | 596 return size_ratio; |
| 587 | 597 |
| 588 // Instead of displaying "0 B" we say "Starting..." | 598 // Instead of displaying "0 B" we say "Starting..." |
| 589 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_STATUS_STARTING); | 599 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_STATUS_STARTING); |
| 590 } | 600 } |
| OLD | NEW |