| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |