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

Side by Side Diff: chrome/browser/ui/gtk/download/download_item_gtk.cc

Issue 8468020: Propagate the SafeBrowsing download protection verdict to the DownloadItem. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Merge Created 9 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/gtk/download/download_item_gtk.h" 5 #include "chrome/browser/ui/gtk/download/download_item_gtk.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
(...skipping 542 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 553
554 void DownloadItemGtk::UpdateDangerWarning() { 554 void DownloadItemGtk::UpdateDangerWarning() {
555 if (dangerous_prompt_) { 555 if (dangerous_prompt_) {
556 UpdateDangerIcon(); 556 UpdateDangerIcon();
557 557
558 // We create |dangerous_warning| as a wide string so we can more easily 558 // We create |dangerous_warning| as a wide string so we can more easily
559 // calculate its length in characters. 559 // calculate its length in characters.
560 string16 dangerous_warning; 560 string16 dangerous_warning;
561 561
562 // The dangerous download label text is different for different cases. 562 // The dangerous download label text is different for different cases.
563 if (get_download()->GetDangerType() == DownloadItem::DANGEROUS_URL) { 563 if (get_download()->GetDangerType() == DownloadStateInfo::DANGEROUS_URL) {
564 // Safebrowsing shows the download URL leads to malicious file. 564 // Safebrowsing shows the download URL leads to malicious file.
565 dangerous_warning = 565 dangerous_warning =
566 l10n_util::GetStringUTF16(IDS_PROMPT_UNSAFE_DOWNLOAD_URL); 566 l10n_util::GetStringUTF16(IDS_PROMPT_UNSAFE_DOWNLOAD_URL);
567 } else { 567 } else {
568 // It's a dangerous file type (e.g.: an executable). 568 // It's a dangerous file type (e.g.: an executable).
569 DCHECK(get_download()->GetDangerType() == 569 DCHECK(get_download()->GetDangerType() ==
570 DownloadItem::DANGEROUS_FILE); 570 DownloadStateInfo::DANGEROUS_FILE);
571 if (ChromeDownloadManagerDelegate::IsExtensionDownload(get_download())) { 571 if (ChromeDownloadManagerDelegate::IsExtensionDownload(get_download())) {
572 dangerous_warning = 572 dangerous_warning =
573 l10n_util::GetStringUTF16(IDS_PROMPT_DANGEROUS_DOWNLOAD_EXTENSION); 573 l10n_util::GetStringUTF16(IDS_PROMPT_DANGEROUS_DOWNLOAD_EXTENSION);
574 } else { 574 } else {
575 string16 elided_filename = ui::ElideFilename( 575 string16 elided_filename = ui::ElideFilename(
576 get_download()->target_name(), gfx::Font(), kTextWidth); 576 get_download()->target_name(), gfx::Font(), kTextWidth);
577 dangerous_warning = 577 dangerous_warning =
578 l10n_util::GetStringFUTF16(IDS_PROMPT_DANGEROUS_DOWNLOAD, 578 l10n_util::GetStringFUTF16(IDS_PROMPT_DANGEROUS_DOWNLOAD,
579 elided_filename); 579 elided_filename);
580 } 580 }
(...skipping 29 matching lines...) Expand all
610 // change the label above. 610 // change the label above.
611 gtk_widget_size_request(dangerous_hbox_.get(), &req); 611 gtk_widget_size_request(dangerous_hbox_.get(), &req);
612 dangerous_hbox_full_width_ = req.width; 612 dangerous_hbox_full_width_ = req.width;
613 dangerous_hbox_start_width_ = dangerous_hbox_full_width_ - label_width; 613 dangerous_hbox_start_width_ = dangerous_hbox_full_width_ - label_width;
614 } 614 }
615 } 615 }
616 616
617 void DownloadItemGtk::UpdateDangerIcon() { 617 void DownloadItemGtk::UpdateDangerIcon() {
618 if (theme_service_->UsingNativeTheme()) { 618 if (theme_service_->UsingNativeTheme()) {
619 const char* stock = 619 const char* stock =
620 get_download()->GetDangerType() == DownloadItem::DANGEROUS_URL ? 620 get_download()->GetDangerType() == DownloadStateInfo::DANGEROUS_URL ?
621 GTK_STOCK_DIALOG_ERROR : GTK_STOCK_DIALOG_WARNING; 621 GTK_STOCK_DIALOG_ERROR : GTK_STOCK_DIALOG_WARNING;
622 gtk_image_set_from_stock( 622 gtk_image_set_from_stock(
623 GTK_IMAGE(dangerous_image_), stock, GTK_ICON_SIZE_SMALL_TOOLBAR); 623 GTK_IMAGE(dangerous_image_), stock, GTK_ICON_SIZE_SMALL_TOOLBAR);
624 } else { 624 } else {
625 // Set the warning icon. 625 // Set the warning icon.
626 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); 626 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
627 int pixbuf_id = 627 int pixbuf_id =
628 get_download()->GetDangerType() == DownloadItem::DANGEROUS_URL ? 628 get_download()->GetDangerType() == DownloadStateInfo::DANGEROUS_URL ?
629 IDR_SAFEBROWSING_WARNING : IDR_WARNING; 629 IDR_SAFEBROWSING_WARNING : IDR_WARNING;
630 GdkPixbuf* download_pixbuf = rb.GetNativeImageNamed(pixbuf_id); 630 GdkPixbuf* download_pixbuf = rb.GetNativeImageNamed(pixbuf_id);
631 gtk_image_set_from_pixbuf(GTK_IMAGE(dangerous_image_), download_pixbuf); 631 gtk_image_set_from_pixbuf(GTK_IMAGE(dangerous_image_), download_pixbuf);
632 } 632 }
633 } 633 }
634 634
635 // static 635 // static
636 void DownloadItemGtk::InitNineBoxes() { 636 void DownloadItemGtk::InitNineBoxes() {
637 if (body_nine_box_normal_) 637 if (body_nine_box_normal_)
638 return; 638 return;
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
884 get_download()->DangerousDownloadValidated(); 884 get_download()->DangerousDownloadValidated();
885 } 885 }
886 886
887 void DownloadItemGtk::OnDangerousDecline(GtkWidget* button) { 887 void DownloadItemGtk::OnDangerousDecline(GtkWidget* button) {
888 UMA_HISTOGRAM_LONG_TIMES("clickjacking.discard_download", 888 UMA_HISTOGRAM_LONG_TIMES("clickjacking.discard_download",
889 base::Time::Now() - creation_time_); 889 base::Time::Now() - creation_time_);
890 if (get_download()->IsPartialDownload()) 890 if (get_download()->IsPartialDownload())
891 get_download()->Cancel(true); 891 get_download()->Cancel(true);
892 get_download()->Delete(DownloadItem::DELETE_DUE_TO_USER_DISCARD); 892 get_download()->Delete(DownloadItem::DELETE_DUE_TO_USER_DISCARD);
893 } 893 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698