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 |