Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc

Issue 2444383007: Trigger Dangerous indicator for unsafe subresources (Closed)
Patch Set: protip: #include the .h, not the .cc Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 // This test creates a fake safebrowsing service, where we can inject known- 5 // This test creates a fake safebrowsing service, where we can inject known-
6 // threat urls. It then uses a real browser to go to these urls, and sends 6 // threat urls. It then uses a real browser to go to these urls, and sends
7 // "goback" or "proceed" commands and verifies they work. 7 // "goback" or "proceed" commands and verifies they work.
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 1029 matching lines...) Expand 10 before | Expand all | Expand 10 after
1040 ui_test_utils::NavigateToURL(browser(), GURL(kUnrelatedUrl)); 1040 ui_test_utils::NavigateToURL(browser(), GURL(kUnrelatedUrl));
1041 AssertNoInterstitial(false); 1041 AssertNoInterstitial(false);
1042 1042
1043 // The non-whitelisted page should now show an interstitial. 1043 // The non-whitelisted page should now show an interstitial.
1044 ui_test_utils::NavigateToURL(browser(), url); 1044 ui_test_utils::NavigateToURL(browser(), url);
1045 EXPECT_TRUE(WaitForReady()); 1045 EXPECT_TRUE(WaitForReady());
1046 EXPECT_TRUE(ClickAndWaitForDetach("proceed-link")); 1046 EXPECT_TRUE(ClickAndWaitForDetach("proceed-link"));
1047 AssertNoInterstitial(true); 1047 AssertNoInterstitial(true);
1048 } 1048 }
1049 1049
1050 namespace {
1051
1052 class SecurityStyleTestObserver : public content::WebContentsObserver {
1053 public:
1054 explicit SecurityStyleTestObserver(content::WebContents* web_contents)
1055 : content::WebContentsObserver(web_contents),
1056 latest_security_style_(blink::WebSecurityStyleUnknown){};
1057
1058 blink::WebSecurityStyle latest_security_style() const {
1059 return latest_security_style_;
1060 }
1061
1062 // WebContentsObserver:
1063 void SecurityStyleChanged(blink::WebSecurityStyle security_style,
1064 const content::SecurityStyleExplanations&
1065 security_style_explanations) override {
1066 latest_security_style_ = security_style;
1067 }
1068
1069 private:
1070 blink::WebSecurityStyle latest_security_style_;
1071 DISALLOW_COPY_AND_ASSIGN(SecurityStyleTestObserver);
1072 };
1073
1074 } // namespace
1075
1076 // Test that the security indicator gets updated on a Safe Browsing
1077 // interstitial triggered by a subresource. Regression test for
1078 // https://crbug.com/659713.
1079 IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest,
1080 SecurityStateDowngradedForSubresourceInterstitial) {
1081 WebContents* error_tab = browser()->tab_strip_model()->GetActiveWebContents();
1082 ASSERT_TRUE(error_tab);
1083 SecurityStyleTestObserver observer(error_tab);
1084 // The security indicator should be downgraded while the interstitial shows.
1085 SetupThreatIframeWarningAndNavigate();
1086 ExpectSecurityIndicatorDowngrade(error_tab, 0u);
1087 EXPECT_EQ(blink::WebSecurityStyleAuthenticationBroken,
1088 observer.latest_security_style());
1089
1090 // The security indicator should still be downgraded post-interstitial.
1091 EXPECT_TRUE(ClickAndWaitForDetach("proceed-link"));
1092 AssertNoInterstitial(true);
1093 WebContents* post_tab = browser()->tab_strip_model()->GetActiveWebContents();
1094 ASSERT_TRUE(post_tab);
1095 ExpectSecurityIndicatorDowngrade(post_tab, 0u);
1096 }
1097
1050 // Test that the security indicator is downgraded after clicking through a 1098 // Test that the security indicator is downgraded after clicking through a
1051 // Safe Browsing interstitial. 1099 // Safe Browsing interstitial.
1052 IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest, 1100 IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest,
1053 SecurityState_HTTP) { 1101 SecurityState_HTTP) {
1054 // The security indicator should be downgraded while the interstitial shows. 1102 // The security indicator should be downgraded while the interstitial shows.
1055 SetupWarningAndNavigate(); 1103 SetupWarningAndNavigate();
1056 WebContents* error_tab = browser()->tab_strip_model()->GetActiveWebContents(); 1104 WebContents* error_tab = browser()->tab_strip_model()->GetActiveWebContents();
1057 ASSERT_TRUE(error_tab); 1105 ASSERT_TRUE(error_tab);
1058 ExpectSecurityIndicatorDowngrade(error_tab, 0u); 1106 ExpectSecurityIndicatorDowngrade(error_tab, 0u);
1059 1107
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
1151 1199
1152 INSTANTIATE_TEST_CASE_P( 1200 INSTANTIATE_TEST_CASE_P(
1153 SafeBrowsingBlockingPageIDNTestWithThreatType, 1201 SafeBrowsingBlockingPageIDNTestWithThreatType,
1154 SafeBrowsingBlockingPageIDNTest, 1202 SafeBrowsingBlockingPageIDNTest,
1155 testing::Combine(testing::Values(false, true), 1203 testing::Combine(testing::Values(false, true),
1156 testing::Values(SB_THREAT_TYPE_URL_MALWARE, 1204 testing::Values(SB_THREAT_TYPE_URL_MALWARE,
1157 SB_THREAT_TYPE_URL_PHISHING, 1205 SB_THREAT_TYPE_URL_PHISHING,
1158 SB_THREAT_TYPE_URL_UNWANTED))); 1206 SB_THREAT_TYPE_URL_UNWANTED)));
1159 1207
1160 } // namespace safe_browsing 1208 } // namespace safe_browsing
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/safe_browsing/ui_manager.cc » ('j') | chrome/browser/safe_browsing/ui_manager_unittest.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698