OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "components/security_interstitials/core/safe_browsing_error_ui.h" | 5 #include "components/security_interstitials/core/safe_browsing_loud_error_ui.h" |
6 | 6 |
7 #include "base/i18n/time_formatting.h" | 7 #include "base/i18n/time_formatting.h" |
8 #include "base/metrics/histogram_macros.h" | 8 #include "base/metrics/histogram_macros.h" |
9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
11 #include "components/google/core/browser/google_util.h" | 11 #include "components/google/core/browser/google_util.h" |
12 #include "components/security_interstitials/core/common_string_util.h" | 12 #include "components/security_interstitials/core/common_string_util.h" |
13 #include "components/security_interstitials/core/metrics_helper.h" | 13 #include "components/security_interstitials/core/metrics_helper.h" |
14 #include "components/strings/grit/components_strings.h" | 14 #include "components/strings/grit/components_strings.h" |
15 #include "net/base/escape.h" | 15 #include "net/base/escape.h" |
(...skipping 27 matching lines...) Expand all Loading... |
43 report); | 43 report); |
44 } else { | 44 } else { |
45 UMA_HISTOGRAM_BOOLEAN( | 45 UMA_HISTOGRAM_BOOLEAN( |
46 "SafeBrowsing.Pref.Scout.SetPref.SBER1Pref.SecurityInterstitial", | 46 "SafeBrowsing.Pref.Scout.SetPref.SBER1Pref.SecurityInterstitial", |
47 report); | 47 report); |
48 } | 48 } |
49 } | 49 } |
50 | 50 |
51 } // namespace | 51 } // namespace |
52 | 52 |
53 SafeBrowsingErrorUI::SafeBrowsingErrorUI( | 53 SafeBrowsingLoudErrorUI::SafeBrowsingLoudErrorUI( |
54 const GURL& request_url, | 54 const GURL& request_url, |
55 const GURL& main_frame_url, | 55 const GURL& main_frame_url, |
56 SBInterstitialReason reason, | 56 SBInterstitialReason reason, |
57 const SBErrorDisplayOptions& display_options, | 57 const SBErrorDisplayOptions& display_options, |
58 const std::string& app_locale, | 58 const std::string& app_locale, |
59 const base::Time& time_triggered, | 59 const base::Time& time_triggered, |
60 ControllerClient* controller) | 60 ControllerClient* controller) |
61 : request_url_(request_url), | 61 : BaseSafeBrowsingErrorUI(request_url, |
62 main_frame_url_(main_frame_url), | 62 main_frame_url, |
63 interstitial_reason_(reason), | 63 reason, |
64 display_options_(display_options), | 64 display_options, |
65 app_locale_(app_locale), | 65 app_locale, |
66 time_triggered_(time_triggered), | 66 time_triggered, |
67 controller_(controller) { | 67 controller) { |
68 controller_->metrics_helper()->RecordUserDecision(MetricsHelper::SHOW); | 68 controller->metrics_helper()->RecordUserDecision(MetricsHelper::SHOW); |
69 controller_->metrics_helper()->RecordUserInteraction( | 69 controller->metrics_helper()->RecordUserInteraction( |
70 MetricsHelper::TOTAL_VISITS); | 70 MetricsHelper::TOTAL_VISITS); |
71 if (display_options_.is_proceed_anyway_disabled) | 71 if (is_proceed_anyway_disabled()) |
72 controller_->metrics_helper()->RecordUserDecision( | 72 controller->metrics_helper()->RecordUserDecision( |
73 security_interstitials::MetricsHelper::PROCEEDING_DISABLED); | 73 security_interstitials::MetricsHelper::PROCEEDING_DISABLED); |
74 } | 74 } |
75 | 75 |
76 SafeBrowsingErrorUI::~SafeBrowsingErrorUI() { | 76 SafeBrowsingLoudErrorUI::~SafeBrowsingLoudErrorUI() { |
77 controller_->metrics_helper()->RecordShutdownMetrics(); | 77 controller()->metrics_helper()->RecordShutdownMetrics(); |
78 } | 78 } |
79 | 79 |
80 void SafeBrowsingErrorUI::PopulateStringsForHTML( | 80 void SafeBrowsingLoudErrorUI::PopulateStringsForHTML( |
81 base::DictionaryValue* load_time_data) { | 81 base::DictionaryValue* load_time_data) { |
82 DCHECK(load_time_data); | 82 DCHECK(load_time_data); |
83 | 83 |
84 load_time_data->SetString("type", "SAFEBROWSING"); | 84 load_time_data->SetString("type", "SAFEBROWSING"); |
85 load_time_data->SetString( | 85 load_time_data->SetString( |
86 "tabTitle", l10n_util::GetStringUTF16(IDS_SAFEBROWSING_V3_TITLE)); | 86 "tabTitle", l10n_util::GetStringUTF16(IDS_SAFEBROWSING_V3_TITLE)); |
87 load_time_data->SetString( | 87 load_time_data->SetString( |
88 "openDetails", | 88 "openDetails", |
89 l10n_util::GetStringUTF16(IDS_SAFEBROWSING_V3_OPEN_DETAILS_BUTTON)); | 89 l10n_util::GetStringUTF16(IDS_SAFEBROWSING_V3_OPEN_DETAILS_BUTTON)); |
90 load_time_data->SetString( | 90 load_time_data->SetString( |
91 "closeDetails", | 91 "closeDetails", |
92 l10n_util::GetStringUTF16(IDS_SAFEBROWSING_V3_CLOSE_DETAILS_BUTTON)); | 92 l10n_util::GetStringUTF16(IDS_SAFEBROWSING_V3_CLOSE_DETAILS_BUTTON)); |
93 load_time_data->SetString( | 93 load_time_data->SetString( |
94 "primaryButtonText", | 94 "primaryButtonText", |
95 l10n_util::GetStringUTF16(IDS_SAFEBROWSING_OVERRIDABLE_SAFETY_BUTTON)); | 95 l10n_util::GetStringUTF16(IDS_SAFEBROWSING_OVERRIDABLE_SAFETY_BUTTON)); |
96 load_time_data->SetBoolean("overridable", | 96 load_time_data->SetBoolean("overridable", !is_proceed_anyway_disabled()); |
97 !display_options_.is_proceed_anyway_disabled); | |
98 | 97 |
99 switch (interstitial_reason_) { | 98 switch (interstitial_reason()) { |
100 case SB_REASON_MALWARE: | 99 case BaseSafeBrowsingErrorUI::SB_REASON_MALWARE: |
101 PopulateMalwareLoadTimeData(load_time_data); | 100 PopulateMalwareLoadTimeData(load_time_data); |
102 break; | 101 break; |
103 case SB_REASON_HARMFUL: | 102 case BaseSafeBrowsingErrorUI::SB_REASON_HARMFUL: |
104 PopulateHarmfulLoadTimeData(load_time_data); | 103 PopulateHarmfulLoadTimeData(load_time_data); |
105 break; | 104 break; |
106 case SB_REASON_PHISHING: | 105 case BaseSafeBrowsingErrorUI::SB_REASON_PHISHING: |
107 PopulatePhishingLoadTimeData(load_time_data); | 106 PopulatePhishingLoadTimeData(load_time_data); |
108 break; | 107 break; |
109 } | 108 } |
110 | 109 |
111 PopulateExtendedReportingOption(load_time_data); | 110 PopulateExtendedReportingOption(load_time_data); |
112 } | 111 } |
113 | 112 |
114 void SafeBrowsingErrorUI::HandleCommand(SecurityInterstitialCommands command) { | 113 void SafeBrowsingLoudErrorUI::HandleCommand( |
| 114 SecurityInterstitialCommands command) { |
115 switch (command) { | 115 switch (command) { |
116 case CMD_PROCEED: { | 116 case CMD_PROCEED: { |
117 // User pressed on the button to proceed. | 117 // User pressed on the button to proceed. |
118 if (!display_options_.is_proceed_anyway_disabled) { | 118 if (!is_proceed_anyway_disabled()) { |
119 controller_->metrics_helper()->RecordUserDecision( | 119 controller()->metrics_helper()->RecordUserDecision( |
120 MetricsHelper::PROCEED); | 120 MetricsHelper::PROCEED); |
121 controller_->Proceed(); | 121 controller()->Proceed(); |
122 break; | 122 break; |
123 } | 123 } |
124 } | 124 } |
125 // If the user can't proceed, fall through to CMD_DONT_PROCEED. | 125 // If the user can't proceed, fall through to CMD_DONT_PROCEED. |
126 case CMD_DONT_PROCEED: { | 126 case CMD_DONT_PROCEED: { |
127 // User pressed on the button to return to safety. | 127 // User pressed on the button to return to safety. |
128 // Don't record the user action here because there are other ways of | 128 // Don't record the user action here because there are other ways of |
129 // triggering DontProceed, like clicking the back button. | 129 // triggering DontProceed, like clicking the back button. |
130 if (display_options_.is_resource_cancellable) { | 130 if (is_resource_cancellable()) { |
131 // If the load is blocked, we want to close the interstitial and discard | 131 // If the load is blocked, we want to close the interstitial and discard |
132 // the pending entry. | 132 // the pending entry. |
133 controller_->GoBack(); | 133 controller()->GoBack(); |
134 } else { | 134 } else { |
135 // Otherwise the offending entry has committed, and we need to go back | 135 // Otherwise the offending entry has committed, and we need to go back |
136 // or to a safe page. We will close the interstitial when that page | 136 // or to a safe page. We will close the interstitial when that page |
137 // commits. | 137 // commits. |
138 controller_->GoBackAfterNavigationCommitted(); | 138 controller()->GoBackAfterNavigationCommitted(); |
139 } | 139 } |
140 break; | 140 break; |
141 } | 141 } |
142 case CMD_DO_REPORT: { | 142 case CMD_DO_REPORT: { |
143 // User enabled SB Extended Reporting via the checkbox. | 143 // User enabled SB Extended Reporting via the checkbox. |
144 display_options_.is_extended_reporting_enabled = true; | 144 set_extended_reporting(true); |
145 controller_->SetReportingPreference(true); | 145 controller()->SetReportingPreference(true); |
146 RecordExtendedReportingPrefChanged( | 146 RecordExtendedReportingPrefChanged(true, is_scout_reporting_enabled()); |
147 true, display_options_.is_scout_reporting_enabled); | |
148 break; | 147 break; |
149 } | 148 } |
150 case CMD_DONT_REPORT: { | 149 case CMD_DONT_REPORT: { |
151 // User disabled SB Extended Reporting via the checkbox. | 150 // User disabled SB Extended Reporting via the checkbox. |
152 display_options_.is_extended_reporting_enabled = false; | 151 set_extended_reporting(false); |
153 controller_->SetReportingPreference(false); | 152 controller()->SetReportingPreference(false); |
154 RecordExtendedReportingPrefChanged( | 153 RecordExtendedReportingPrefChanged(false, is_scout_reporting_enabled()); |
155 false, display_options_.is_scout_reporting_enabled); | |
156 break; | 154 break; |
157 } | 155 } |
158 case CMD_SHOW_MORE_SECTION: { | 156 case CMD_SHOW_MORE_SECTION: { |
159 controller_->metrics_helper()->RecordUserInteraction( | 157 controller()->metrics_helper()->RecordUserInteraction( |
160 security_interstitials::MetricsHelper::SHOW_ADVANCED); | 158 security_interstitials::MetricsHelper::SHOW_ADVANCED); |
161 break; | 159 break; |
162 } | 160 } |
163 case CMD_OPEN_HELP_CENTER: { | 161 case CMD_OPEN_HELP_CENTER: { |
164 // User pressed "Learn more". | 162 // User pressed "Learn more". |
165 controller_->metrics_helper()->RecordUserInteraction( | 163 controller()->metrics_helper()->RecordUserInteraction( |
166 security_interstitials::MetricsHelper::SHOW_LEARN_MORE); | 164 security_interstitials::MetricsHelper::SHOW_LEARN_MORE); |
167 GURL learn_more_url(kLearnMore); | 165 GURL learn_more_url(kLearnMore); |
168 learn_more_url = | 166 learn_more_url = |
169 google_util::AppendGoogleLocaleParam(learn_more_url, app_locale_); | 167 google_util::AppendGoogleLocaleParam(learn_more_url, app_locale()); |
170 controller_->OpenUrlInCurrentTab(learn_more_url); | 168 controller()->OpenUrlInCurrentTab(learn_more_url); |
171 break; | 169 break; |
172 } | 170 } |
173 case CMD_RELOAD: { | 171 case CMD_RELOAD: { |
174 controller_->metrics_helper()->RecordUserInteraction( | 172 controller()->metrics_helper()->RecordUserInteraction( |
175 security_interstitials::MetricsHelper::RELOAD); | 173 security_interstitials::MetricsHelper::RELOAD); |
176 controller_->Reload(); | 174 controller()->Reload(); |
177 break; | 175 break; |
178 } | 176 } |
179 case CMD_OPEN_REPORTING_PRIVACY: { | 177 case CMD_OPEN_REPORTING_PRIVACY: { |
180 // User pressed on the SB Extended Reporting "privacy policy" link. | 178 // User pressed on the SB Extended Reporting "privacy policy" link. |
181 controller_->OpenExtendedReportingPrivacyPolicy(); | 179 controller()->OpenExtendedReportingPrivacyPolicy(); |
182 break; | 180 break; |
183 } | 181 } |
184 case CMD_OPEN_WHITEPAPER: { | 182 case CMD_OPEN_WHITEPAPER: { |
185 controller_->OpenExtendedReportingWhitepaper(); | 183 controller()->OpenExtendedReportingWhitepaper(); |
186 break; | 184 break; |
187 } | 185 } |
188 case CMD_OPEN_DIAGNOSTIC: { | 186 case CMD_OPEN_DIAGNOSTIC: { |
189 controller_->metrics_helper()->RecordUserInteraction( | 187 controller()->metrics_helper()->RecordUserInteraction( |
190 security_interstitials::MetricsHelper::SHOW_DIAGNOSTIC); | 188 security_interstitials::MetricsHelper::SHOW_DIAGNOSTIC); |
191 std::string diagnostic = base::StringPrintf( | 189 std::string diagnostic = base::StringPrintf( |
192 kSbDiagnosticUrl, | 190 kSbDiagnosticUrl, |
193 net::EscapeQueryParamValue(request_url_.spec(), true).c_str()); | 191 net::EscapeQueryParamValue(request_url().spec(), true).c_str()); |
194 GURL diagnostic_url(diagnostic); | 192 GURL diagnostic_url(diagnostic); |
195 diagnostic_url = | 193 diagnostic_url = |
196 google_util::AppendGoogleLocaleParam(diagnostic_url, app_locale_); | 194 google_util::AppendGoogleLocaleParam(diagnostic_url, app_locale()); |
197 controller_->OpenUrlInCurrentTab(diagnostic_url); | 195 controller()->OpenUrlInCurrentTab(diagnostic_url); |
198 break; | 196 break; |
199 } | 197 } |
200 case CMD_REPORT_PHISHING_ERROR: { | 198 case CMD_REPORT_PHISHING_ERROR: { |
201 controller_->metrics_helper()->RecordUserInteraction( | 199 controller()->metrics_helper()->RecordUserInteraction( |
202 security_interstitials::MetricsHelper::REPORT_PHISHING_ERROR); | 200 security_interstitials::MetricsHelper::REPORT_PHISHING_ERROR); |
203 GURL phishing_error_url(kReportPhishingErrorUrl); | 201 GURL phishing_error_url(kReportPhishingErrorUrl); |
204 phishing_error_url = | 202 phishing_error_url = google_util::AppendGoogleLocaleParam( |
205 google_util::AppendGoogleLocaleParam(phishing_error_url, app_locale_); | 203 phishing_error_url, app_locale()); |
206 controller_->OpenUrlInCurrentTab(phishing_error_url); | 204 controller()->OpenUrlInCurrentTab(phishing_error_url); |
207 break; | 205 break; |
208 } | 206 } |
209 case CMD_OPEN_DATE_SETTINGS: | 207 case CMD_OPEN_DATE_SETTINGS: |
210 case CMD_OPEN_LOGIN: | 208 case CMD_OPEN_LOGIN: |
211 case CMD_ERROR: | 209 case CMD_ERROR: |
212 case CMD_TEXT_FOUND: | 210 case CMD_TEXT_FOUND: |
213 case CMD_TEXT_NOT_FOUND: | 211 case CMD_TEXT_NOT_FOUND: |
214 break; | 212 break; |
215 } | 213 } |
216 } | 214 } |
217 | 215 |
218 bool SafeBrowsingErrorUI::CanShowExtendedReportingOption() { | 216 void SafeBrowsingLoudErrorUI::PopulateMalwareLoadTimeData( |
219 return !is_off_the_record() && is_extended_reporting_opt_in_allowed(); | |
220 } | |
221 | |
222 void SafeBrowsingErrorUI::PopulateMalwareLoadTimeData( | |
223 base::DictionaryValue* load_time_data) { | 217 base::DictionaryValue* load_time_data) { |
224 load_time_data->SetBoolean("phishing", false); | 218 load_time_data->SetBoolean("phishing", false); |
225 load_time_data->SetString("heading", | 219 load_time_data->SetString("heading", |
226 l10n_util::GetStringUTF16(IDS_MALWARE_V3_HEADING)); | 220 l10n_util::GetStringUTF16(IDS_MALWARE_V3_HEADING)); |
227 load_time_data->SetString( | 221 load_time_data->SetString( |
228 "primaryParagraph", | 222 "primaryParagraph", |
229 l10n_util::GetStringFUTF16( | 223 l10n_util::GetStringFUTF16( |
230 IDS_MALWARE_V3_PRIMARY_PARAGRAPH, | 224 IDS_MALWARE_V3_PRIMARY_PARAGRAPH, |
231 common_string_util::GetFormattedHostName(request_url_))); | 225 common_string_util::GetFormattedHostName(request_url()))); |
232 load_time_data->SetString( | 226 load_time_data->SetString( |
233 "explanationParagraph", | 227 "explanationParagraph", |
234 display_options_.is_main_frame_load_blocked | 228 is_main_frame_load_blocked() |
235 ? l10n_util::GetStringFUTF16( | 229 ? l10n_util::GetStringFUTF16( |
236 IDS_MALWARE_V3_EXPLANATION_PARAGRAPH, | 230 IDS_MALWARE_V3_EXPLANATION_PARAGRAPH, |
237 common_string_util::GetFormattedHostName(request_url_)) | 231 common_string_util::GetFormattedHostName(request_url())) |
238 : l10n_util::GetStringFUTF16( | 232 : l10n_util::GetStringFUTF16( |
239 IDS_MALWARE_V3_EXPLANATION_PARAGRAPH_SUBRESOURCE, | 233 IDS_MALWARE_V3_EXPLANATION_PARAGRAPH_SUBRESOURCE, |
240 base::UTF8ToUTF16(main_frame_url_.host()), | 234 base::UTF8ToUTF16(main_frame_url().host()), |
241 common_string_util::GetFormattedHostName(request_url_))); | 235 common_string_util::GetFormattedHostName(request_url()))); |
242 load_time_data->SetString( | 236 load_time_data->SetString( |
243 "finalParagraph", | 237 "finalParagraph", |
244 l10n_util::GetStringUTF16(IDS_MALWARE_V3_PROCEED_PARAGRAPH)); | 238 l10n_util::GetStringUTF16(IDS_MALWARE_V3_PROCEED_PARAGRAPH)); |
245 } | 239 } |
246 | 240 |
247 void SafeBrowsingErrorUI::PopulateHarmfulLoadTimeData( | 241 void SafeBrowsingLoudErrorUI::PopulateHarmfulLoadTimeData( |
248 base::DictionaryValue* load_time_data) { | 242 base::DictionaryValue* load_time_data) { |
249 load_time_data->SetBoolean("phishing", false); | 243 load_time_data->SetBoolean("phishing", false); |
250 load_time_data->SetString("heading", | 244 load_time_data->SetString("heading", |
251 l10n_util::GetStringUTF16(IDS_HARMFUL_V3_HEADING)); | 245 l10n_util::GetStringUTF16(IDS_HARMFUL_V3_HEADING)); |
252 load_time_data->SetString( | 246 load_time_data->SetString( |
253 "primaryParagraph", | 247 "primaryParagraph", |
254 l10n_util::GetStringFUTF16( | 248 l10n_util::GetStringFUTF16( |
255 IDS_HARMFUL_V3_PRIMARY_PARAGRAPH, | 249 IDS_HARMFUL_V3_PRIMARY_PARAGRAPH, |
256 common_string_util::GetFormattedHostName(request_url_))); | 250 common_string_util::GetFormattedHostName(request_url()))); |
257 load_time_data->SetString( | 251 load_time_data->SetString( |
258 "explanationParagraph", | 252 "explanationParagraph", |
259 l10n_util::GetStringFUTF16( | 253 l10n_util::GetStringFUTF16( |
260 IDS_HARMFUL_V3_EXPLANATION_PARAGRAPH, | 254 IDS_HARMFUL_V3_EXPLANATION_PARAGRAPH, |
261 common_string_util::GetFormattedHostName(request_url_))); | 255 common_string_util::GetFormattedHostName(request_url()))); |
262 load_time_data->SetString( | 256 load_time_data->SetString( |
263 "finalParagraph", | 257 "finalParagraph", |
264 l10n_util::GetStringUTF16(IDS_HARMFUL_V3_PROCEED_PARAGRAPH)); | 258 l10n_util::GetStringUTF16(IDS_HARMFUL_V3_PROCEED_PARAGRAPH)); |
265 } | 259 } |
266 | 260 |
267 void SafeBrowsingErrorUI::PopulatePhishingLoadTimeData( | 261 void SafeBrowsingLoudErrorUI::PopulatePhishingLoadTimeData( |
268 base::DictionaryValue* load_time_data) { | 262 base::DictionaryValue* load_time_data) { |
269 load_time_data->SetBoolean("phishing", true); | 263 load_time_data->SetBoolean("phishing", true); |
270 load_time_data->SetString("heading", | 264 load_time_data->SetString("heading", |
271 l10n_util::GetStringUTF16(IDS_PHISHING_V4_HEADING)); | 265 l10n_util::GetStringUTF16(IDS_PHISHING_V4_HEADING)); |
272 load_time_data->SetString( | 266 load_time_data->SetString( |
273 "primaryParagraph", | 267 "primaryParagraph", |
274 l10n_util::GetStringFUTF16( | 268 l10n_util::GetStringFUTF16( |
275 IDS_PHISHING_V4_PRIMARY_PARAGRAPH, | 269 IDS_PHISHING_V4_PRIMARY_PARAGRAPH, |
276 common_string_util::GetFormattedHostName(request_url_))); | 270 common_string_util::GetFormattedHostName(request_url()))); |
277 load_time_data->SetString( | 271 load_time_data->SetString( |
278 "explanationParagraph", | 272 "explanationParagraph", |
279 l10n_util::GetStringFUTF16( | 273 l10n_util::GetStringFUTF16( |
280 IDS_PHISHING_V4_EXPLANATION_PARAGRAPH, | 274 IDS_PHISHING_V4_EXPLANATION_PARAGRAPH, |
281 common_string_util::GetFormattedHostName(request_url_))); | 275 common_string_util::GetFormattedHostName(request_url()))); |
282 load_time_data->SetString( | 276 load_time_data->SetString( |
283 "finalParagraph", | 277 "finalParagraph", |
284 l10n_util::GetStringUTF16(IDS_PHISHING_V4_PROCEED_AND_REPORT_PARAGRAPH)); | 278 l10n_util::GetStringUTF16(IDS_PHISHING_V4_PROCEED_AND_REPORT_PARAGRAPH)); |
285 } | 279 } |
286 | 280 |
287 void SafeBrowsingErrorUI::PopulateExtendedReportingOption( | 281 void SafeBrowsingLoudErrorUI::PopulateExtendedReportingOption( |
288 base::DictionaryValue* load_time_data) { | 282 base::DictionaryValue* load_time_data) { |
289 bool can_show_extended_reporting_option = CanShowExtendedReportingOption(); | 283 bool can_show_extended_reporting_option = CanShowExtendedReportingOption(); |
290 load_time_data->SetBoolean(security_interstitials::kDisplayCheckBox, | 284 load_time_data->SetBoolean(security_interstitials::kDisplayCheckBox, |
291 can_show_extended_reporting_option); | 285 can_show_extended_reporting_option); |
292 if (!can_show_extended_reporting_option) | 286 if (!can_show_extended_reporting_option) |
293 return; | 287 return; |
294 | 288 |
295 const std::string privacy_link = base::StringPrintf( | 289 const std::string privacy_link = base::StringPrintf( |
296 security_interstitials::kPrivacyLinkHtml, | 290 security_interstitials::kPrivacyLinkHtml, |
297 security_interstitials::CMD_OPEN_REPORTING_PRIVACY, | 291 security_interstitials::CMD_OPEN_REPORTING_PRIVACY, |
298 l10n_util::GetStringUTF8(IDS_SAFE_BROWSING_PRIVACY_POLICY_PAGE).c_str()); | 292 l10n_util::GetStringUTF8(IDS_SAFE_BROWSING_PRIVACY_POLICY_PAGE).c_str()); |
299 load_time_data->SetString(security_interstitials::kOptInLink, | 293 load_time_data->SetString(security_interstitials::kOptInLink, |
300 l10n_util::GetStringFUTF16( | 294 l10n_util::GetStringFUTF16( |
301 display_options_.is_scout_reporting_enabled | 295 is_scout_reporting_enabled() |
302 ? IDS_SAFE_BROWSING_SCOUT_REPORTING_AGREE | 296 ? IDS_SAFE_BROWSING_SCOUT_REPORTING_AGREE |
303 : IDS_SAFE_BROWSING_MALWARE_REPORTING_AGREE, | 297 : IDS_SAFE_BROWSING_MALWARE_REPORTING_AGREE, |
304 base::UTF8ToUTF16(privacy_link))); | 298 base::UTF8ToUTF16(privacy_link))); |
305 load_time_data->SetBoolean(security_interstitials::kBoxChecked, | 299 load_time_data->SetBoolean(security_interstitials::kBoxChecked, |
306 display_options_.is_extended_reporting_enabled); | 300 is_extended_reporting_enabled()); |
307 } | 301 } |
308 | 302 |
309 } // security_interstitials | 303 } // security_interstitials |
OLD | NEW |