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

Side by Side Diff: chrome/browser/ui/webui/downloads_dom_handler.cc

Issue 16018005: Use DownloadItem::GetState() in chrome/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Stopping complete_animation_ when download is cancelled Created 7 years, 6 months 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 unified diff | Download patch
« no previous file with comments | « chrome/browser/ui/views/download/download_shelf_view.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/ui/webui/downloads_dom_handler.h" 5 #include "chrome/browser/ui/webui/downloads_dom_handler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <functional> 8 #include <functional>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 file_value->SetString("file_name", file_name); 140 file_value->SetString("file_name", file_name);
141 file_value->SetString("url", download_item->GetURL().spec()); 141 file_value->SetString("url", download_item->GetURL().spec());
142 file_value->SetBoolean("otr", incognito); 142 file_value->SetBoolean("otr", incognito);
143 file_value->SetInteger("total", static_cast<int>( 143 file_value->SetInteger("total", static_cast<int>(
144 download_item->GetTotalBytes())); 144 download_item->GetTotalBytes()));
145 file_value->SetBoolean("file_externally_removed", 145 file_value->SetBoolean("file_externally_removed",
146 download_item->GetFileExternallyRemoved()); 146 download_item->GetFileExternallyRemoved());
147 file_value->SetBoolean("retry", false); // Overridden below if needed. 147 file_value->SetBoolean("retry", false); // Overridden below if needed.
148 file_value->SetBoolean("resume", download_item->CanResume()); 148 file_value->SetBoolean("resume", download_item->CanResume());
149 149
150 if (download_item->IsInProgress()) { 150 switch (download_item->GetState()) {
151 if (download_item->IsDangerous()) { 151 case content::DownloadItem::IN_PROGRESS:
152 file_value->SetString("state", "DANGEROUS"); 152 if (download_item->IsDangerous()) {
153 // These are the only danger states that the UI is equipped to handle. 153 file_value->SetString("state", "DANGEROUS");
154 DCHECK(download_item->GetDangerType() == 154 // These are the only danger states that the UI is equipped to handle.
155 content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE || 155 DCHECK(download_item->GetDangerType() ==
156 download_item->GetDangerType() == 156 content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE ||
157 content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL || 157 download_item->GetDangerType() ==
158 download_item->GetDangerType() == 158 content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL ||
159 content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT || 159 download_item->GetDangerType() ==
160 download_item->GetDangerType() == 160 content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT ||
161 content::DOWNLOAD_DANGER_TYPE_UNCOMMON_CONTENT || 161 download_item->GetDangerType() ==
162 download_item->GetDangerType() == 162 content::DOWNLOAD_DANGER_TYPE_UNCOMMON_CONTENT ||
163 content::DOWNLOAD_DANGER_TYPE_DANGEROUS_HOST); 163 download_item->GetDangerType() ==
164 const char* danger_type_value = 164 content::DOWNLOAD_DANGER_TYPE_DANGEROUS_HOST);
165 GetDangerTypeString(download_item->GetDangerType()); 165 const char* danger_type_value =
166 file_value->SetString("danger_type", danger_type_value); 166 GetDangerTypeString(download_item->GetDangerType());
167 } else if (download_item->IsPaused()) { 167 file_value->SetString("danger_type", danger_type_value);
168 file_value->SetString("state", "PAUSED"); 168 } else if (download_item->IsPaused()) {
169 } else { 169 file_value->SetString("state", "PAUSED");
170 file_value->SetString("state", "IN_PROGRESS"); 170 } else {
171 } 171 file_value->SetString("state", "IN_PROGRESS");
172 }
172 173
173 file_value->SetString("progress_status_text", 174 file_value->SetString("progress_status_text",
174 download_util::GetProgressStatusText(download_item)); 175 download_util::GetProgressStatusText(download_item));
175 176
176 file_value->SetInteger("percent", 177 file_value->SetInteger("percent",
177 static_cast<int>(download_item->PercentComplete())); 178 static_cast<int>(download_item->PercentComplete()));
178 file_value->SetInteger("received", 179 file_value->SetInteger("received",
179 static_cast<int>(download_item->GetReceivedBytes())); 180 static_cast<int>(download_item->GetReceivedBytes()));
180 } else if (download_item->IsInterrupted()) { 181 break;
181 file_value->SetString("state", "INTERRUPTED");
182 182
183 file_value->SetString("progress_status_text", 183 case content::DownloadItem::INTERRUPTED:
184 download_util::GetProgressStatusText(download_item)); 184 file_value->SetString("state", "INTERRUPTED");
185 185
186 file_value->SetInteger("percent", 186 file_value->SetString("progress_status_text",
187 static_cast<int>(download_item->PercentComplete())); 187 download_util::GetProgressStatusText(download_item));
188 file_value->SetInteger("received", 188
189 static_cast<int>(download_item->GetReceivedBytes())); 189 file_value->SetInteger("percent",
190 file_value->SetString("last_reason_text", 190 static_cast<int>(download_item->PercentComplete()));
191 download_model.GetInterruptReasonText()); 191 file_value->SetInteger("received",
192 if (content::DOWNLOAD_INTERRUPT_REASON_CRASH == 192 static_cast<int>(download_item->GetReceivedBytes()));
193 download_item->GetLastReason() && !download_item->CanResume()) 193 file_value->SetString("last_reason_text",
194 download_model.GetInterruptReasonText());
195 if (content::DOWNLOAD_INTERRUPT_REASON_CRASH ==
196 download_item->GetLastReason() && !download_item->CanResume())
197 file_value->SetBoolean("retry", true);
198 break;
199
200 case content::DownloadItem::CANCELLED:
201 file_value->SetString("state", "CANCELLED");
194 file_value->SetBoolean("retry", true); 202 file_value->SetBoolean("retry", true);
195 } else if (download_item->IsCancelled()) { 203 break;
196 file_value->SetString("state", "CANCELLED"); 204
197 file_value->SetBoolean("retry", true); 205 case content::DownloadItem::COMPLETE:
198 } else if (download_item->IsComplete()) { 206 DCHECK(!download_item->IsDangerous());
199 DCHECK(!download_item->IsDangerous()); 207 file_value->SetString("state", "COMPLETE");
200 file_value->SetString("state", "COMPLETE"); 208 break;
201 } else { 209
202 NOTREACHED() << "state undefined"; 210 case content::DownloadItem::MAX_DOWNLOAD_STATE:
211 NOTREACHED() << "state undefined";
203 } 212 }
204 213
205 return file_value; 214 return file_value;
206 } 215 }
207 216
208 // Filters out extension downloads and downloads that don't have a filename yet. 217 // Filters out extension downloads and downloads that don't have a filename yet.
209 bool IsDownloadDisplayable(const content::DownloadItem& item) { 218 bool IsDownloadDisplayable(const content::DownloadItem& item) {
210 return (!download_crx_util::IsExtensionDownload(item) && 219 return (!download_crx_util::IsExtensionDownload(item) &&
211 !item.IsTemporary() && 220 !item.IsTemporary() &&
212 !item.GetFileNameToReportUser().empty() && 221 !item.GetFileNameToReportUser().empty() &&
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 } 551 }
543 552
544 void DownloadsDOMHandler::CallDownloadsList(const base::ListValue& downloads) { 553 void DownloadsDOMHandler::CallDownloadsList(const base::ListValue& downloads) {
545 web_ui()->CallJavascriptFunction("downloadsList", downloads); 554 web_ui()->CallJavascriptFunction("downloadsList", downloads);
546 } 555 }
547 556
548 void DownloadsDOMHandler::CallDownloadUpdated( 557 void DownloadsDOMHandler::CallDownloadUpdated(
549 const base::ListValue& download_item) { 558 const base::ListValue& download_item) {
550 web_ui()->CallJavascriptFunction("downloadUpdated", download_item); 559 web_ui()->CallJavascriptFunction("downloadUpdated", download_item);
551 } 560 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/download/download_shelf_view.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698