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 // Implementation of the SafeBrowsingBlockingPage class. | 5 // Implementation of the SafeBrowsingBlockingPage class. |
6 | 6 |
7 #include "chrome/browser/safe_browsing/safe_browsing_blocking_page.h" | 7 #include "chrome/browser/safe_browsing/safe_browsing_blocking_page.h" |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 20 matching lines...) Expand all Loading... |
31 #include "content/public/browser/browser_thread.h" | 31 #include "content/public/browser/browser_thread.h" |
32 #include "content/public/browser/interstitial_page.h" | 32 #include "content/public/browser/interstitial_page.h" |
33 #include "content/public/browser/navigation_controller.h" | 33 #include "content/public/browser/navigation_controller.h" |
34 #include "content/public/browser/user_metrics.h" | 34 #include "content/public/browser/user_metrics.h" |
35 #include "content/public/browser/web_contents.h" | 35 #include "content/public/browser/web_contents.h" |
36 #include "grit/browser_resources.h" | 36 #include "grit/browser_resources.h" |
37 #include "grit/generated_resources.h" | 37 #include "grit/generated_resources.h" |
38 #include "grit/locale_settings.h" | 38 #include "grit/locale_settings.h" |
39 #include "net/base/escape.h" | 39 #include "net/base/escape.h" |
40 #include "ui/base/l10n/l10n_util.h" | 40 #include "ui/base/l10n/l10n_util.h" |
| 41 #include "ui/base/layout.h" |
41 #include "ui/base/resource/resource_bundle.h" | 42 #include "ui/base/resource/resource_bundle.h" |
42 | 43 |
43 using content::BrowserThread; | 44 using content::BrowserThread; |
44 using content::InterstitialPage; | 45 using content::InterstitialPage; |
45 using content::OpenURLParams; | 46 using content::OpenURLParams; |
46 using content::Referrer; | 47 using content::Referrer; |
47 using content::UserMetricsAction; | 48 using content::UserMetricsAction; |
48 using content::WebContents; | 49 using content::WebContents; |
49 | 50 |
50 // For malware interstitial pages, we link the problematic URL to Google's | 51 // For malware interstitial pages, we link the problematic URL to Google's |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 std::string html; | 189 std::string html; |
189 | 190 |
190 if (unsafe_resources_.empty()) { | 191 if (unsafe_resources_.empty()) { |
191 NOTREACHED(); | 192 NOTREACHED(); |
192 return std::string(); | 193 return std::string(); |
193 } | 194 } |
194 | 195 |
195 if (unsafe_resources_.size() > 1) { | 196 if (unsafe_resources_.size() > 1) { |
196 PopulateMultipleThreatStringDictionary(&strings); | 197 PopulateMultipleThreatStringDictionary(&strings); |
197 html = rb.GetRawDataResource( | 198 html = rb.GetRawDataResource( |
198 IDR_SAFE_BROWSING_MULTIPLE_THREAT_BLOCK).as_string(); | 199 IDR_SAFE_BROWSING_MULTIPLE_THREAT_BLOCK, |
| 200 ui::SCALE_FACTOR_NONE).as_string(); |
199 } else { | 201 } else { |
200 SafeBrowsingService::UrlCheckResult threat_type = | 202 SafeBrowsingService::UrlCheckResult threat_type = |
201 unsafe_resources_[0].threat_type; | 203 unsafe_resources_[0].threat_type; |
202 if (threat_type == SafeBrowsingService::URL_MALWARE) { | 204 if (threat_type == SafeBrowsingService::URL_MALWARE) { |
203 PopulateMalwareStringDictionary(&strings); | 205 PopulateMalwareStringDictionary(&strings); |
204 html = rb.GetRawDataResource( | 206 html = rb.GetRawDataResource( |
205 IDR_SAFE_BROWSING_MALWARE_BLOCK).as_string(); | 207 IDR_SAFE_BROWSING_MALWARE_BLOCK, |
| 208 ui::SCALE_FACTOR_NONE).as_string(); |
206 } else { // Phishing. | 209 } else { // Phishing. |
207 DCHECK(threat_type == SafeBrowsingService::URL_PHISHING || | 210 DCHECK(threat_type == SafeBrowsingService::URL_PHISHING || |
208 threat_type == SafeBrowsingService::CLIENT_SIDE_PHISHING_URL); | 211 threat_type == SafeBrowsingService::CLIENT_SIDE_PHISHING_URL); |
209 PopulatePhishingStringDictionary(&strings); | 212 PopulatePhishingStringDictionary(&strings); |
210 html = rb.GetRawDataResource( | 213 html = rb.GetRawDataResource( |
211 IDR_SAFE_BROWSING_PHISHING_BLOCK).as_string(); | 214 IDR_SAFE_BROWSING_PHISHING_BLOCK, |
| 215 ui::SCALE_FACTOR_NONE).as_string(); |
212 } | 216 } |
213 } | 217 } |
214 | 218 |
215 return jstemplate_builder::GetTemplatesHtml(html, &strings, "template_root"); | 219 return jstemplate_builder::GetTemplatesHtml(html, &strings, "template_root"); |
216 } | 220 } |
217 | 221 |
218 void SafeBrowsingBlockingPage::PopulateStringDictionary( | 222 void SafeBrowsingBlockingPage::PopulateStringDictionary( |
219 DictionaryValue* strings, | 223 DictionaryValue* strings, |
220 const string16& title, | 224 const string16& title, |
221 const string16& headline, | 225 const string16& headline, |
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
751 // Client-side phishing detection interstitials never block the main frame | 755 // Client-side phishing detection interstitials never block the main frame |
752 // load, since they happen after the page is finished loading. | 756 // load, since they happen after the page is finished loading. |
753 if (unsafe_resources[0].threat_type == | 757 if (unsafe_resources[0].threat_type == |
754 SafeBrowsingService::CLIENT_SIDE_PHISHING_URL) { | 758 SafeBrowsingService::CLIENT_SIDE_PHISHING_URL) { |
755 return false; | 759 return false; |
756 } | 760 } |
757 | 761 |
758 // Otherwise, check the threat type. | 762 // Otherwise, check the threat type. |
759 return unsafe_resources.size() == 1 && !unsafe_resources[0].is_subresource; | 763 return unsafe_resources.size() == 1 && !unsafe_resources[0].is_subresource; |
760 } | 764 } |
OLD | NEW |