| Index: chrome/browser/ui/views/download/download_item_view.cc
|
| diff --git a/chrome/browser/ui/views/download/download_item_view.cc b/chrome/browser/ui/views/download/download_item_view.cc
|
| index 0f94520a67d387c5db7c0c0c3f8ac36f56eed355..e04cb07d222ccfc750d618f9432ba3ab1c9abada 100644
|
| --- a/chrome/browser/ui/views/download/download_item_view.cc
|
| +++ b/chrome/browser/ui/views/download/download_item_view.cc
|
| @@ -49,10 +49,6 @@ static const int kVerticalPadding = 3; // Pixels
|
| static const int kVerticalTextSpacer = 2; // Pixels
|
| static const int kVerticalTextPadding = 2; // Pixels
|
|
|
| -// The maximum number of characters we show in a file name when displaying the
|
| -// dangerous download message.
|
| -static const int kFileNameMaxLength = 20;
|
| -
|
| // We add some padding before the left image so that the progress animation icon
|
| // hides the corners of the left image.
|
| static const int kLeftPadding = 0; // Pixels.
|
| @@ -1004,16 +1000,8 @@ void DownloadItemView::ClearWarningDialog() {
|
|
|
| void DownloadItemView::ShowWarningDialog() {
|
| DCHECK(mode_ != DANGEROUS_MODE && mode_ != MALICIOUS_MODE);
|
| - if (download_->GetDangerType() ==
|
| - content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL ||
|
| - download_->GetDangerType() ==
|
| - content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT) {
|
| - mode_ = MALICIOUS_MODE;
|
| - } else {
|
| - DCHECK(download_->GetDangerType() ==
|
| - content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE);
|
| - mode_ = DANGEROUS_MODE;
|
| - }
|
| + mode_ = ((model_->IsMalicious()) ? MALICIOUS_MODE : DANGEROUS_MODE);
|
| +
|
| body_state_ = NORMAL;
|
| drop_down_state_ = NORMAL;
|
| tooltip_text_.clear();
|
| @@ -1030,74 +1018,16 @@ void DownloadItemView::ShowWarningDialog() {
|
| discard_button_->set_ignore_minimum_size(true);
|
| AddChildView(discard_button_);
|
|
|
| - // Ensure the file name is not too long.
|
| -
|
| - // Extract the file extension (if any).
|
| - FilePath filename(download_->GetTargetName());
|
| -#if defined(OS_POSIX)
|
| - string16 extension = WideToUTF16(base::SysNativeMBToWide(
|
| - filename.Extension()));
|
| -#else
|
| - string16 extension = filename.Extension();
|
| -#endif
|
| -
|
| - // Remove leading '.'
|
| - if (extension.length() > 0)
|
| - extension = extension.substr(1);
|
| -#if defined(OS_POSIX)
|
| - string16 rootname = WideToUTF16(base::SysNativeMBToWide(
|
| - filename.RemoveExtension().value()));
|
| -#else
|
| - string16 rootname = filename.RemoveExtension().value();
|
| -#endif
|
| -
|
| - // Elide giant extensions (this shouldn't currently be hit, but might
|
| - // in future, should we ever notice unsafe giant extensions).
|
| - if (extension.length() > kFileNameMaxLength / 2)
|
| - ui::ElideString(extension, kFileNameMaxLength / 2, &extension);
|
| -
|
| ResourceBundle& rb = ResourceBundle::GetSharedInstance();
|
| - // The dangerous download label text and icon are different
|
| - // under different cases.
|
| + // The dangerous download label text and icon are different under
|
| + // different cases.
|
| if (mode_ == MALICIOUS_MODE) {
|
| warning_icon_ = rb.GetBitmapNamed(IDR_SAFEBROWSING_WARNING);
|
| } else {
|
| - DCHECK(download_->GetDangerType() ==
|
| - content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE);
|
| // The download file has dangerous file type (e.g.: an executable).
|
| warning_icon_ = rb.GetBitmapNamed(IDR_WARNING);
|
| }
|
| - string16 dangerous_label;
|
| - if (download_->GetDangerType() ==
|
| - content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL) {
|
| - // Safebrowsing shows the download URL or content leads to malicious file.
|
| - dangerous_label = l10n_util::GetStringUTF16(
|
| - IDS_PROMPT_MALICIOUS_DOWNLOAD_URL);
|
| - } else if (download_->GetDangerType() ==
|
| - content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE &&
|
| - ChromeDownloadManagerDelegate::IsExtensionDownload(download_)) {
|
| - dangerous_label =
|
| - l10n_util::GetStringUTF16(IDS_PROMPT_DANGEROUS_DOWNLOAD_EXTENSION);
|
| - } else {
|
| - // The download file has dangerous file type (e.g.: an executable) or the
|
| - // file content is known to be malicious.
|
| - DCHECK(download_->GetDangerType() ==
|
| - content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE ||
|
| - download_->GetDangerType() ==
|
| - content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT);
|
| - ui::ElideString(rootname,
|
| - kFileNameMaxLength - extension.length(),
|
| - &rootname);
|
| - string16 filename = rootname + ASCIIToUTF16(".") + extension;
|
| - filename = base::i18n::GetDisplayStringInLTRDirectionality(filename);
|
| - dangerous_label = l10n_util::GetStringFUTF16(
|
| - download_->GetDangerType() ==
|
| - content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE ?
|
| - IDS_PROMPT_DANGEROUS_DOWNLOAD :
|
| - IDS_PROMPT_MALICIOUS_DOWNLOAD_CONTENT,
|
| - filename);
|
| - }
|
| -
|
| + string16 dangerous_label = model_->GetWarningText(font_, kTextWidth);
|
| dangerous_download_label_ = new views::Label(dangerous_label);
|
| dangerous_download_label_->SetMultiLine(true);
|
| dangerous_download_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT);
|
|
|