| 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 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 return data; | 103 return data; |
| 104 } | 104 } |
| 105 | 105 |
| 106 DownloadItemModelData::DownloadItemModelData() | 106 DownloadItemModelData::DownloadItemModelData() |
| 107 : should_show_in_shelf_(true), | 107 : should_show_in_shelf_(true), |
| 108 should_notify_ui_(false), | 108 should_notify_ui_(false), |
| 109 should_prefer_opening_in_browser_(false) { | 109 should_prefer_opening_in_browser_(false) { |
| 110 } | 110 } |
| 111 | 111 |
| 112 base::string16 InterruptReasonStatusMessage(int reason) { | 112 base::string16 InterruptReasonStatusMessage(int reason) { |
| 113 int string_id = 0; | 113 int string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS; |
| 114 | 114 |
| 115 switch (reason) { | 115 switch (static_cast<content::DownloadInterruptReason>(reason)) { |
| 116 case content::DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED: | 116 case content::DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED: |
| 117 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_ACCESS_DENIED; | 117 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_ACCESS_DENIED; |
| 118 break; | 118 break; |
| 119 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE: | 119 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE: |
| 120 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_DISK_FULL; | 120 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_DISK_FULL; |
| 121 break; | 121 break; |
| 122 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG: | 122 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG: |
| 123 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_PATH_TOO_LONG; | 123 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_PATH_TOO_LONG; |
| 124 break; | 124 break; |
| 125 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE: | 125 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE: |
| 126 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_FILE_TOO_LARGE; | 126 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_FILE_TOO_LARGE; |
| 127 break; | 127 break; |
| 128 case content::DOWNLOAD_INTERRUPT_REASON_FILE_VIRUS_INFECTED: | 128 case content::DOWNLOAD_INTERRUPT_REASON_FILE_VIRUS_INFECTED: |
| 129 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_VIRUS; | 129 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_VIRUS; |
| 130 break; | 130 break; |
| 131 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR: | 131 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR: |
| 132 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_TEMPORARY_PROBLEM; | 132 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_TEMPORARY_PROBLEM; |
| 133 break; | 133 break; |
| 134 case content::DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED: | 134 case content::DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED: |
| 135 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_BLOCKED; | 135 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_BLOCKED; |
| 136 break; | 136 break; |
| 137 case content::DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED: | 137 case content::DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED: |
| 138 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SECURITY_CHECK_FAILED; | 138 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SECURITY_CHECK_FAILED; |
| 139 break; | 139 break; |
| 140 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT: | 140 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT: |
| 141 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_FILE_TOO_SHORT; | 141 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_FILE_TOO_SHORT; |
| 142 break; | 142 break; |
| 143 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_INVALID_REQUEST: |
| 143 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED: | 144 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED: |
| 144 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_ERROR; | 145 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_ERROR; |
| 145 break; | 146 break; |
| 146 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT: | 147 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT: |
| 147 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_TIMEOUT; | 148 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_TIMEOUT; |
| 148 break; | 149 break; |
| 149 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED: | 150 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED: |
| 150 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_DISCONNECTED; | 151 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_DISCONNECTED; |
| 151 break; | 152 break; |
| 152 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN: | 153 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN: |
| 153 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SERVER_DOWN; | 154 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SERVER_DOWN; |
| 154 break; | 155 break; |
| 155 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED: | 156 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED: |
| 156 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SERVER_PROBLEM; | 157 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SERVER_PROBLEM; |
| 157 break; | 158 break; |
| 158 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT: | 159 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT: |
| 159 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NO_FILE; | 160 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_NO_FILE; |
| 160 break; | 161 break; |
| 161 case content::DOWNLOAD_INTERRUPT_REASON_USER_CANCELED: | 162 case content::DOWNLOAD_INTERRUPT_REASON_USER_CANCELED: |
| 162 string_id = IDS_DOWNLOAD_STATUS_CANCELLED; | 163 string_id = IDS_DOWNLOAD_STATUS_CANCELLED; |
| 163 break; | 164 break; |
| 164 case content::DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN: | 165 case content::DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN: |
| 165 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SHUTDOWN; | 166 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_SHUTDOWN; |
| 166 break; | 167 break; |
| 167 case content::DOWNLOAD_INTERRUPT_REASON_CRASH: | 168 case content::DOWNLOAD_INTERRUPT_REASON_CRASH: |
| 168 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_CRASH; | 169 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS_CRASH; |
| 169 break; | 170 break; |
| 170 default: | 171 case content::DOWNLOAD_INTERRUPT_REASON_NONE: |
| 172 NOTREACHED(); |
| 173 // fallthrough |
| 174 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_NO_RANGE: |
| 175 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_PRECONDITION: |
| 176 case content::DOWNLOAD_INTERRUPT_REASON_FILE_FAILED: |
| 171 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS; | 177 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS; |
| 172 break; | |
| 173 } | 178 } |
| 174 | 179 |
| 175 return l10n_util::GetStringUTF16(string_id); | 180 return l10n_util::GetStringUTF16(string_id); |
| 176 } | 181 } |
| 177 | 182 |
| 178 base::string16 InterruptReasonMessage(int reason) { | 183 base::string16 InterruptReasonMessage(int reason) { |
| 179 int string_id = 0; | 184 int string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS; |
| 180 base::string16 status_text; | 185 base::string16 status_text; |
| 181 | 186 |
| 182 switch (reason) { | 187 switch (static_cast<content::DownloadInterruptReason>(reason)) { |
| 183 case content::DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED: | 188 case content::DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED: |
| 184 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_ACCESS_DENIED; | 189 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_ACCESS_DENIED; |
| 185 break; | 190 break; |
| 186 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE: | 191 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE: |
| 187 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_DISK_FULL; | 192 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_DISK_FULL; |
| 188 break; | 193 break; |
| 189 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG: | 194 case content::DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG: |
| 190 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_PATH_TOO_LONG; | 195 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_PATH_TOO_LONG; |
| 191 break; | 196 break; |
| 192 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE: | 197 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE: |
| 193 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_FILE_TOO_LARGE; | 198 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_FILE_TOO_LARGE; |
| 194 break; | 199 break; |
| 195 case content::DOWNLOAD_INTERRUPT_REASON_FILE_VIRUS_INFECTED: | 200 case content::DOWNLOAD_INTERRUPT_REASON_FILE_VIRUS_INFECTED: |
| 196 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_VIRUS; | 201 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_VIRUS; |
| 197 break; | 202 break; |
| 198 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR: | 203 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR: |
| 199 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_TEMPORARY_PROBLEM; | 204 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_TEMPORARY_PROBLEM; |
| 200 break; | 205 break; |
| 201 case content::DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED: | 206 case content::DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED: |
| 202 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_BLOCKED; | 207 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_BLOCKED; |
| 203 break; | 208 break; |
| 204 case content::DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED: | 209 case content::DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED: |
| 205 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SECURITY_CHECK_FAILED; | 210 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SECURITY_CHECK_FAILED; |
| 206 break; | 211 break; |
| 207 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT: | 212 case content::DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT: |
| 208 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_FILE_TOO_SHORT; | 213 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_FILE_TOO_SHORT; |
| 209 break; | 214 break; |
| 215 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_INVALID_REQUEST: |
| 210 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED: | 216 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED: |
| 211 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_ERROR; | 217 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_ERROR; |
| 212 break; | 218 break; |
| 213 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT: | 219 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT: |
| 214 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_TIMEOUT; | 220 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_TIMEOUT; |
| 215 break; | 221 break; |
| 216 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED: | 222 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED: |
| 217 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_DISCONNECTED; | 223 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_DISCONNECTED; |
| 218 break; | 224 break; |
| 219 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN: | 225 case content::DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN: |
| 220 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SERVER_DOWN; | 226 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SERVER_DOWN; |
| 221 break; | 227 break; |
| 222 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED: | 228 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED: |
| 223 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SERVER_PROBLEM; | 229 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SERVER_PROBLEM; |
| 224 break; | 230 break; |
| 225 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT: | 231 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT: |
| 226 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NO_FILE; | 232 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NO_FILE; |
| 227 break; | 233 break; |
| 228 case content::DOWNLOAD_INTERRUPT_REASON_USER_CANCELED: | 234 case content::DOWNLOAD_INTERRUPT_REASON_USER_CANCELED: |
| 229 string_id = IDS_DOWNLOAD_STATUS_CANCELLED; | 235 string_id = IDS_DOWNLOAD_STATUS_CANCELLED; |
| 230 break; | 236 break; |
| 231 case content::DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN: | 237 case content::DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN: |
| 232 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SHUTDOWN; | 238 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SHUTDOWN; |
| 233 break; | 239 break; |
| 234 case content::DOWNLOAD_INTERRUPT_REASON_CRASH: | 240 case content::DOWNLOAD_INTERRUPT_REASON_CRASH: |
| 235 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_CRASH; | 241 string_id = IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_CRASH; |
| 236 break; | 242 break; |
| 237 default: | 243 case content::DOWNLOAD_INTERRUPT_REASON_NONE: |
| 244 NOTREACHED(); |
| 245 // fallthrough |
| 246 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_NO_RANGE: |
| 247 case content::DOWNLOAD_INTERRUPT_REASON_SERVER_PRECONDITION: |
| 248 case content::DOWNLOAD_INTERRUPT_REASON_FILE_FAILED: |
| 238 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS; | 249 string_id = IDS_DOWNLOAD_INTERRUPTED_STATUS; |
| 239 break; | |
| 240 } | 250 } |
| 241 | 251 |
| 242 status_text = l10n_util::GetStringUTF16(string_id); | 252 status_text = l10n_util::GetStringUTF16(string_id); |
| 243 | 253 |
| 244 return status_text; | 254 return status_text; |
| 245 } | 255 } |
| 246 | 256 |
| 247 } // namespace | 257 } // namespace |
| 248 | 258 |
| 249 // ----------------------------------------------------------------------------- | 259 // ----------------------------------------------------------------------------- |
| (...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 643 if (!download_service) | 653 if (!download_service) |
| 644 return; | 654 return; |
| 645 | 655 |
| 646 ChromeDownloadManagerDelegate* delegate = | 656 ChromeDownloadManagerDelegate* delegate = |
| 647 download_service->GetDownloadManagerDelegate(); | 657 download_service->GetDownloadManagerDelegate(); |
| 648 if (!delegate) | 658 if (!delegate) |
| 649 return; | 659 return; |
| 650 delegate->OpenDownloadUsingPlatformHandler(download_); | 660 delegate->OpenDownloadUsingPlatformHandler(download_); |
| 651 RecordDownloadOpenMethod(DOWNLOAD_OPEN_METHOD_USER_PLATFORM); | 661 RecordDownloadOpenMethod(DOWNLOAD_OPEN_METHOD_USER_PLATFORM); |
| 652 } | 662 } |
| OLD | NEW |