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/views/download/download_item_view.h" | 5 #include "chrome/browser/ui/views/download/download_item_view.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 958 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
969 #endif | 969 #endif |
970 | 970 |
971 // Elide giant extensions (this shouldn't currently be hit, but might | 971 // Elide giant extensions (this shouldn't currently be hit, but might |
972 // in future, should we ever notice unsafe giant extensions). | 972 // in future, should we ever notice unsafe giant extensions). |
973 if (extension.length() > kFileNameMaxLength / 2) | 973 if (extension.length() > kFileNameMaxLength / 2) |
974 ui::ElideString(extension, kFileNameMaxLength / 2, &extension); | 974 ui::ElideString(extension, kFileNameMaxLength / 2, &extension); |
975 | 975 |
976 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 976 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
977 // The dangerous download label text and icon are different | 977 // The dangerous download label text and icon are different |
978 // under different cases. | 978 // under different cases. |
979 string16 dangerous_label; | |
980 if (download_->GetDangerType() == DownloadStateInfo::DANGEROUS_URL || | 979 if (download_->GetDangerType() == DownloadStateInfo::DANGEROUS_URL || |
981 download_->GetDangerType() == DownloadStateInfo::DANGEROUS_CONTENT) { | 980 download_->GetDangerType() == DownloadStateInfo::DANGEROUS_CONTENT) { |
982 // TODO(noelutz): add the target filename to the warning message in the | |
983 // case of a dangerous content warning. | |
984 // Safebrowsing shows the download URL or content leads to malicious file. | |
985 warning_icon_ = rb.GetBitmapNamed(IDR_SAFEBROWSING_WARNING); | 981 warning_icon_ = rb.GetBitmapNamed(IDR_SAFEBROWSING_WARNING); |
986 dangerous_label = | |
987 l10n_util::GetStringUTF16(IDS_PROMPT_UNSAFE_DOWNLOAD_URL); | |
988 } else { | 982 } else { |
989 // The download file has dangerous file type (e.g.: an executable). | |
990 DCHECK(download_->GetDangerType() == DownloadStateInfo::DANGEROUS_FILE); | 983 DCHECK(download_->GetDangerType() == DownloadStateInfo::DANGEROUS_FILE); |
991 warning_icon_ = rb.GetBitmapNamed(IDR_WARNING); | 984 warning_icon_ = rb.GetBitmapNamed(IDR_WARNING); |
992 if (ChromeDownloadManagerDelegate::IsExtensionDownload(download_)) { | 985 } |
993 dangerous_label = | 986 string16 dangerous_label; |
994 l10n_util::GetStringUTF16(IDS_PROMPT_DANGEROUS_DOWNLOAD_EXTENSION); | 987 if (download_->GetDangerType() == DownloadStateInfo::DANGEROUS_URL) { |
995 } else { | 988 // Safebrowsing shows the download URL or content leads to malicious file. |
996 ui::ElideString(rootname, | 989 dangerous_label = l10n_util::GetStringUTF16( |
997 kFileNameMaxLength - extension.length(), | 990 IDS_PROMPT_MALICIOUS_DOWNLOAD_URL); |
998 &rootname); | 991 } else if (download_->GetDangerType() == DownloadStateInfo::DANGEROUS_FILE && |
999 string16 filename = rootname + ASCIIToUTF16(".") + extension; | 992 ChromeDownloadManagerDelegate::IsExtensionDownload(download_)) { |
1000 filename = base::i18n::GetDisplayStringInLTRDirectionality(filename); | 993 dangerous_label = |
1001 dangerous_label = | 994 l10n_util::GetStringUTF16(IDS_PROMPT_DANGEROUS_DOWNLOAD_EXTENSION); |
1002 l10n_util::GetStringFUTF16(IDS_PROMPT_DANGEROUS_DOWNLOAD, filename); | 995 } else { |
1003 } | 996 // The download file has dangerous file type (e.g.: an executable) or the |
| 997 // file content is known to be malicious. |
| 998 DCHECK(download_->GetDangerType() == DownloadStateInfo::DANGEROUS_FILE || |
| 999 download_->GetDangerType() == DownloadStateInfo::DANGEROUS_CONTENT); |
| 1000 ui::ElideString(rootname, |
| 1001 kFileNameMaxLength - extension.length(), |
| 1002 &rootname); |
| 1003 string16 filename = rootname + ASCIIToUTF16(".") + extension; |
| 1004 filename = base::i18n::GetDisplayStringInLTRDirectionality(filename); |
| 1005 dangerous_label = l10n_util::GetStringFUTF16( |
| 1006 download_->GetDangerType() == DownloadStateInfo::DANGEROUS_FILE ? |
| 1007 IDS_PROMPT_DANGEROUS_DOWNLOAD : |
| 1008 IDS_PROMPT_MALICIOUS_DOWNLOAD_CONTENT, |
| 1009 filename); |
1004 } | 1010 } |
1005 | 1011 |
1006 dangerous_download_label_ = new views::Label(dangerous_label); | 1012 dangerous_download_label_ = new views::Label(dangerous_label); |
1007 dangerous_download_label_->SetMultiLine(true); | 1013 dangerous_download_label_->SetMultiLine(true); |
1008 dangerous_download_label_->SetHorizontalAlignment( | 1014 dangerous_download_label_->SetHorizontalAlignment( |
1009 views::Label::ALIGN_LEFT); | 1015 views::Label::ALIGN_LEFT); |
1010 dangerous_download_label_->SetAutoColorReadabilityEnabled(false); | 1016 dangerous_download_label_->SetAutoColorReadabilityEnabled(false); |
1011 AddChildView(dangerous_download_label_); | 1017 AddChildView(dangerous_download_label_); |
1012 SizeLabelToMinWidth(); | 1018 SizeLabelToMinWidth(); |
1013 } | 1019 } |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1124 // If the name has changed, notify assistive technology that the name | 1130 // If the name has changed, notify assistive technology that the name |
1125 // has changed so they can announce it immediately. | 1131 // has changed so they can announce it immediately. |
1126 if (new_name != accessible_name_) { | 1132 if (new_name != accessible_name_) { |
1127 accessible_name_ = new_name; | 1133 accessible_name_ = new_name; |
1128 if (GetWidget()) { | 1134 if (GetWidget()) { |
1129 GetWidget()->NotifyAccessibilityEvent( | 1135 GetWidget()->NotifyAccessibilityEvent( |
1130 this, ui::AccessibilityTypes::EVENT_NAME_CHANGED, true); | 1136 this, ui::AccessibilityTypes::EVENT_NAME_CHANGED, true); |
1131 } | 1137 } |
1132 } | 1138 } |
1133 } | 1139 } |
OLD | NEW |