OLD | NEW |
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/download/download_danger_prompt.h" | 5 #include "chrome/browser/download/download_danger_prompt.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/metrics/field_trial.h" |
8 #include "chrome/browser/chrome_notification_types.h" | 9 #include "chrome/browser/chrome_notification_types.h" |
9 #include "chrome/browser/download/chrome_download_manager_delegate.h" | 10 #include "chrome/browser/download/chrome_download_manager_delegate.h" |
| 11 #include "chrome/browser/download/download_util.h" |
10 #include "chrome/browser/ui/tab_modal_confirm_dialog.h" | 12 #include "chrome/browser/ui/tab_modal_confirm_dialog.h" |
11 #include "chrome/browser/ui/tab_modal_confirm_dialog_delegate.h" | 13 #include "chrome/browser/ui/tab_modal_confirm_dialog_delegate.h" |
12 #include "content/public/browser/download_danger_type.h" | 14 #include "content/public/browser/download_danger_type.h" |
13 #include "content/public/browser/download_item.h" | 15 #include "content/public/browser/download_item.h" |
14 #include "grit/chromium_strings.h" | 16 #include "grit/chromium_strings.h" |
15 #include "grit/generated_resources.h" | 17 #include "grit/generated_resources.h" |
16 #include "ui/base/l10n/l10n_util.h" | 18 #include "ui/base/l10n/l10n_util.h" |
17 | 19 |
18 namespace { | 20 namespace { |
19 | 21 |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 | 98 |
97 string16 DownloadDangerPromptImpl::GetTitle() { | 99 string16 DownloadDangerPromptImpl::GetTitle() { |
98 return l10n_util::GetStringUTF16(IDS_CONFIRM_KEEP_DANGEROUS_DOWNLOAD_TITLE); | 100 return l10n_util::GetStringUTF16(IDS_CONFIRM_KEEP_DANGEROUS_DOWNLOAD_TITLE); |
99 } | 101 } |
100 | 102 |
101 string16 DownloadDangerPromptImpl::GetMessage() { | 103 string16 DownloadDangerPromptImpl::GetMessage() { |
102 if (!show_context_) | 104 if (!show_context_) |
103 return l10n_util::GetStringUTF16( | 105 return l10n_util::GetStringUTF16( |
104 IDS_PROMPT_CONFIRM_KEEP_DANGEROUS_DOWNLOAD); | 106 IDS_PROMPT_CONFIRM_KEEP_DANGEROUS_DOWNLOAD); |
105 switch (download_->GetDangerType()) { | 107 switch (download_->GetDangerType()) { |
106 case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE: | 108 case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE: { |
107 return l10n_util::GetStringFUTF16( | 109 return l10n_util::GetStringFUTF16( |
108 IDS_PROMPT_DANGEROUS_DOWNLOAD, | 110 IDS_PROMPT_DANGEROUS_DOWNLOAD, |
109 download_->GetFileNameToReportUser().LossyDisplayName()); | 111 download_->GetFileNameToReportUser().LossyDisplayName()); |
| 112 } |
110 case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL: // Fall through | 113 case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL: // Fall through |
111 case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT: | 114 case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT: |
112 case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_HOST: | 115 case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_HOST: { |
113 return l10n_util::GetStringFUTF16( | 116 std::string trial_condition = |
114 IDS_PROMPT_MALICIOUS_DOWNLOAD_CONTENT, | 117 base::FieldTrialList::FindFullName(download_util::kFinchTrialName); |
| 118 if (trial_condition.empty()) { |
| 119 return l10n_util::GetStringFUTF16( |
| 120 IDS_PROMPT_MALICIOUS_DOWNLOAD_CONTENT, |
| 121 download_->GetFileNameToReportUser().LossyDisplayName()); |
| 122 } |
| 123 return download_util::AssembleMalwareFinchString( |
| 124 trial_condition, |
115 download_->GetFileNameToReportUser().LossyDisplayName()); | 125 download_->GetFileNameToReportUser().LossyDisplayName()); |
116 case content::DOWNLOAD_DANGER_TYPE_UNCOMMON_CONTENT: | 126 } |
| 127 case content::DOWNLOAD_DANGER_TYPE_UNCOMMON_CONTENT: { |
117 return l10n_util::GetStringFUTF16( | 128 return l10n_util::GetStringFUTF16( |
118 IDS_PROMPT_UNCOMMON_DOWNLOAD_CONTENT, | 129 IDS_PROMPT_UNCOMMON_DOWNLOAD_CONTENT, |
119 download_->GetFileNameToReportUser().LossyDisplayName()); | 130 download_->GetFileNameToReportUser().LossyDisplayName()); |
120 case content::DOWNLOAD_DANGER_TYPE_POTENTIALLY_UNWANTED: | 131 } |
| 132 case content::DOWNLOAD_DANGER_TYPE_POTENTIALLY_UNWANTED: { |
121 return l10n_util::GetStringFUTF16( | 133 return l10n_util::GetStringFUTF16( |
122 IDS_PROMPT_DOWNLOAD_CHANGES_SEARCH_SETTINGS, | 134 IDS_PROMPT_DOWNLOAD_CHANGES_SEARCH_SETTINGS, |
123 download_->GetFileNameToReportUser().LossyDisplayName()); | 135 download_->GetFileNameToReportUser().LossyDisplayName()); |
| 136 } |
124 case content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS: | 137 case content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS: |
125 case content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT: | 138 case content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT: |
126 case content::DOWNLOAD_DANGER_TYPE_USER_VALIDATED: | 139 case content::DOWNLOAD_DANGER_TYPE_USER_VALIDATED: |
127 case content::DOWNLOAD_DANGER_TYPE_MAX: | 140 case content::DOWNLOAD_DANGER_TYPE_MAX: { |
128 break; | 141 break; |
| 142 } |
129 } | 143 } |
130 NOTREACHED(); | 144 NOTREACHED(); |
131 return string16(); | 145 return string16(); |
132 } | 146 } |
133 | 147 |
134 string16 DownloadDangerPromptImpl::GetAcceptButtonTitle() { | 148 string16 DownloadDangerPromptImpl::GetAcceptButtonTitle() { |
135 return l10n_util::GetStringUTF16( | 149 return l10n_util::GetStringUTF16( |
136 show_context_ ? IDS_CONFIRM_DOWNLOAD : IDS_CONFIRM_DOWNLOAD_AGAIN); | 150 show_context_ ? IDS_CONFIRM_DOWNLOAD : IDS_CONFIRM_DOWNLOAD_AGAIN); |
137 } | 151 } |
138 | 152 |
(...skipping 30 matching lines...) Expand all Loading... |
169 content::DownloadItem* item, | 183 content::DownloadItem* item, |
170 content::WebContents* web_contents, | 184 content::WebContents* web_contents, |
171 bool show_context, | 185 bool show_context, |
172 const OnDone& done) { | 186 const OnDone& done) { |
173 DownloadDangerPromptImpl* prompt = new DownloadDangerPromptImpl( | 187 DownloadDangerPromptImpl* prompt = new DownloadDangerPromptImpl( |
174 item, web_contents, show_context, done); | 188 item, web_contents, show_context, done); |
175 // |prompt| will be deleted when the dialog is done. | 189 // |prompt| will be deleted when the dialog is done. |
176 TabModalConfirmDialog::Create(prompt, web_contents); | 190 TabModalConfirmDialog::Create(prompt, web_contents); |
177 return prompt; | 191 return prompt; |
178 } | 192 } |
OLD | NEW |