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

Side by Side Diff: chrome/browser/ssl/security_state_tab_helper_browser_tests.cc

Issue 2851103002: Update some host_resolver()->AddRules in chrome/browser. (Closed)
Patch Set: fix Created 3 years, 7 months 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/ssl/security_state_tab_helper.h" 5 #include "chrome/browser/ssl/security_state_tab_helper.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/strings/string_split.h" 10 #include "base/strings/string_split.h"
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 class SecurityStateTabHelperTest : public CertVerifierBrowserTest { 294 class SecurityStateTabHelperTest : public CertVerifierBrowserTest {
295 public: 295 public:
296 SecurityStateTabHelperTest() 296 SecurityStateTabHelperTest()
297 : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { 297 : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {
298 https_server_.ServeFilesFromSourceDirectory(base::FilePath(kDocRoot)); 298 https_server_.ServeFilesFromSourceDirectory(base::FilePath(kDocRoot));
299 } 299 }
300 300
301 void SetUpOnMainThread() override { 301 void SetUpOnMainThread() override {
302 ASSERT_TRUE(embedded_test_server()->Start()); 302 ASSERT_TRUE(embedded_test_server()->Start());
303 ASSERT_TRUE(https_server_.Start()); 303 ASSERT_TRUE(https_server_.Start());
304 host_resolver()->AddRule("*", embedded_test_server()->GetURL("/").host()); 304 host_resolver()->AddRule("*", "127.0.0.1");
305 } 305 }
306 306
307 void SetUpCommandLine(base::CommandLine* command_line) override { 307 void SetUpCommandLine(base::CommandLine* command_line) override {
308 // Browser will both run and display insecure content. 308 // Browser will both run and display insecure content.
309 command_line->AppendSwitch(switches::kAllowRunningInsecureContent); 309 command_line->AppendSwitch(switches::kAllowRunningInsecureContent);
310 } 310 }
311 311
312 protected: 312 protected:
313 void SetUpMockCertVerifierForHttpsServer(net::CertStatus cert_status, 313 void SetUpMockCertVerifierForHttpsServer(net::CertStatus cert_status,
314 int net_result) { 314 int net_result) {
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 DidChangeVisibleSecurityStateTest() 377 DidChangeVisibleSecurityStateTest()
378 : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { 378 : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {
379 https_server_.ServeFilesFromSourceDirectory(base::FilePath(kDocRoot)); 379 https_server_.ServeFilesFromSourceDirectory(base::FilePath(kDocRoot));
380 } 380 }
381 381
382 void SetUpCommandLine(base::CommandLine* command_line) override { 382 void SetUpCommandLine(base::CommandLine* command_line) override {
383 // Browser will both run and display insecure content. 383 // Browser will both run and display insecure content.
384 command_line->AppendSwitch(switches::kAllowRunningInsecureContent); 384 command_line->AppendSwitch(switches::kAllowRunningInsecureContent);
385 } 385 }
386 386
387 void SetUpOnMainThread() override {
388 host_resolver()->AddRule("*", "127.0.0.1");
389 }
390
387 protected: 391 protected:
388 net::EmbeddedTestServer https_server_; 392 net::EmbeddedTestServer https_server_;
389 393
390 private: 394 private:
391 DISALLOW_COPY_AND_ASSIGN(DidChangeVisibleSecurityStateTest); 395 DISALLOW_COPY_AND_ASSIGN(DidChangeVisibleSecurityStateTest);
392 }; 396 };
393 397
394 IN_PROC_BROWSER_TEST_F(SecurityStateTabHelperTest, HttpPage) { 398 IN_PROC_BROWSER_TEST_F(SecurityStateTabHelperTest, HttpPage) {
395 ui_test_utils::NavigateToURL( 399 ui_test_utils::NavigateToURL(
396 browser(), embedded_test_server()->GetURL("/ssl/google.html")); 400 browser(), embedded_test_server()->GetURL("/ssl/google.html"));
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
485 observer.latest_explanations(); 489 observer.latest_explanations();
486 490
487 ASSERT_EQ(0u, explanation.insecure_explanations.size()); 491 ASSERT_EQ(0u, explanation.insecure_explanations.size());
488 ASSERT_EQ(1u, explanation.neutral_explanations.size()); 492 ASSERT_EQ(1u, explanation.neutral_explanations.size());
489 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_SHA1), 493 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_SHA1),
490 explanation.neutral_explanations[0].summary); 494 explanation.neutral_explanations[0].summary);
491 } 495 }
492 496
493 IN_PROC_BROWSER_TEST_F(SecurityStateTabHelperTest, MixedContent) { 497 IN_PROC_BROWSER_TEST_F(SecurityStateTabHelperTest, MixedContent) {
494 SetUpMockCertVerifierForHttpsServer(0, net::OK); 498 SetUpMockCertVerifierForHttpsServer(0, net::OK);
495 host_resolver()->AddRule("example.test",
496 https_server_.GetURL("/title1.html").host());
497 499
498 net::HostPortPair replacement_pair = embedded_test_server()->host_port_pair(); 500 net::HostPortPair replacement_pair = embedded_test_server()->host_port_pair();
499 replacement_pair.set_host("example.test"); 501 replacement_pair.set_host("example.test");
500 502
501 // Navigate to an HTTPS page that displays mixed content. 503 // Navigate to an HTTPS page that displays mixed content.
502 std::string replacement_path; 504 std::string replacement_path;
503 GetFilePathWithHostAndPortReplacement( 505 GetFilePathWithHostAndPortReplacement(
504 "/ssl/page_displays_insecure_content.html", replacement_pair, 506 "/ssl/page_displays_insecure_content.html", replacement_pair,
505 &replacement_path); 507 &replacement_path);
506 ui_test_utils::NavigateToURL(browser(), 508 ui_test_utils::NavigateToURL(browser(),
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 CheckSecurityInfoForSecure( 552 CheckSecurityInfoForSecure(
551 browser()->tab_strip_model()->GetActiveWebContents(), 553 browser()->tab_strip_model()->GetActiveWebContents(),
552 security_state::DANGEROUS, false, 554 security_state::DANGEROUS, false,
553 security_state::CONTENT_STATUS_DISPLAYED_AND_RAN, false, 555 security_state::CONTENT_STATUS_DISPLAYED_AND_RAN, false,
554 false /* expect cert status error */); 556 false /* expect cert status error */);
555 557
556 // Navigate to an HTTPS page that runs mixed content in an iframe. 558 // Navigate to an HTTPS page that runs mixed content in an iframe.
557 net::HostPortPair host_port_pair = 559 net::HostPortPair host_port_pair =
558 net::HostPortPair::FromURL(https_server_.GetURL("/title1.html")); 560 net::HostPortPair::FromURL(https_server_.GetURL("/title1.html"));
559 host_port_pair.set_host("different-host.test"); 561 host_port_pair.set_host("different-host.test");
560 host_resolver()->AddRule("different-host.test",
561 https_server_.GetURL("/title1.html").host());
562 host_resolver()->AddRule(
563 "different-http-host.test",
564 embedded_test_server()->GetURL("/title1.html").host());
565 GetFilePathWithHostAndPortReplacement( 562 GetFilePathWithHostAndPortReplacement(
566 "/ssl/page_runs_insecure_content_in_iframe.html", host_port_pair, 563 "/ssl/page_runs_insecure_content_in_iframe.html", host_port_pair,
567 &replacement_path); 564 &replacement_path);
568 ui_test_utils::NavigateToURL(browser(), 565 ui_test_utils::NavigateToURL(browser(),
569 https_server_.GetURL(replacement_path)); 566 https_server_.GetURL(replacement_path));
570 CheckSecurityInfoForSecure( 567 CheckSecurityInfoForSecure(
571 browser()->tab_strip_model()->GetActiveWebContents(), 568 browser()->tab_strip_model()->GetActiveWebContents(),
572 security_state::DANGEROUS, false, security_state::CONTENT_STATUS_RAN, 569 security_state::DANGEROUS, false, security_state::CONTENT_STATUS_RAN,
573 false, false /* expect cert status error */); 570 false, false /* expect cert status error */);
574 } 571 }
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
658 EXPECT_EQ(security_state::CONTENT_STATUS_DISPLAYED_AND_RAN, 655 EXPECT_EQ(security_state::CONTENT_STATUS_DISPLAYED_AND_RAN,
659 security_info.content_with_cert_errors_status); 656 security_info.content_with_cert_errors_status);
660 } 657 }
661 658
662 // Same as SecurityStateTabHelperTest.ActiveAndPassiveContentWithCertErrors but 659 // Same as SecurityStateTabHelperTest.ActiveAndPassiveContentWithCertErrors but
663 // with a SHA1 cert. 660 // with a SHA1 cert.
664 IN_PROC_BROWSER_TEST_F(SecurityStateTabHelperTest, MixedContentWithSHA1Cert) { 661 IN_PROC_BROWSER_TEST_F(SecurityStateTabHelperTest, MixedContentWithSHA1Cert) {
665 SetUpMockCertVerifierForHttpsServer(net::CERT_STATUS_SHA1_SIGNATURE_PRESENT, 662 SetUpMockCertVerifierForHttpsServer(net::CERT_STATUS_SHA1_SIGNATURE_PRESENT,
666 net::OK); 663 net::OK);
667 664
668 host_resolver()->AddRule("example.test",
669 https_server_.GetURL("/title1.html").host());
670
671 net::HostPortPair replacement_pair = embedded_test_server()->host_port_pair(); 665 net::HostPortPair replacement_pair = embedded_test_server()->host_port_pair();
672 replacement_pair.set_host("example.test"); 666 replacement_pair.set_host("example.test");
673 667
674 // Navigate to an HTTPS page that displays mixed content. 668 // Navigate to an HTTPS page that displays mixed content.
675 std::string replacement_path; 669 std::string replacement_path;
676 GetFilePathWithHostAndPortReplacement( 670 GetFilePathWithHostAndPortReplacement(
677 "/ssl/page_displays_insecure_content.html", replacement_pair, 671 "/ssl/page_displays_insecure_content.html", replacement_pair,
678 &replacement_path); 672 &replacement_path);
679 ui_test_utils::NavigateToURL(browser(), 673 ui_test_utils::NavigateToURL(browser(),
680 https_server_.GetURL(replacement_path)); 674 https_server_.GetURL(replacement_path));
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 // directive stops mixed content from running. 725 // directive stops mixed content from running.
732 IN_PROC_BROWSER_TEST_F(SecurityStateTabHelperTest, MixedContentStrictBlocking) { 726 IN_PROC_BROWSER_TEST_F(SecurityStateTabHelperTest, MixedContentStrictBlocking) {
733 SetUpMockCertVerifierForHttpsServer(0, net::OK); 727 SetUpMockCertVerifierForHttpsServer(0, net::OK);
734 728
735 // Navigate to an HTTPS page that tries to run mixed content in an 729 // Navigate to an HTTPS page that tries to run mixed content in an
736 // iframe, with strict mixed content blocking. 730 // iframe, with strict mixed content blocking.
737 std::string replacement_path; 731 std::string replacement_path;
738 net::HostPortPair host_port_pair = 732 net::HostPortPair host_port_pair =
739 net::HostPortPair::FromURL(https_server_.GetURL("/title1.html")); 733 net::HostPortPair::FromURL(https_server_.GetURL("/title1.html"));
740 host_port_pair.set_host("different-host.test"); 734 host_port_pair.set_host("different-host.test");
741 host_resolver()->AddRule("different-host.test",
742 https_server_.GetURL("/title1.html").host());
743 GetFilePathWithHostAndPortReplacement( 735 GetFilePathWithHostAndPortReplacement(
744 "/ssl/page_runs_insecure_content_in_iframe_with_strict_blocking.html", 736 "/ssl/page_runs_insecure_content_in_iframe_with_strict_blocking.html",
745 host_port_pair, &replacement_path); 737 host_port_pair, &replacement_path);
746 ui_test_utils::NavigateToURL(browser(), 738 ui_test_utils::NavigateToURL(browser(),
747 https_server_.GetURL(replacement_path)); 739 https_server_.GetURL(replacement_path));
748 CheckSecurityInfoForSecure( 740 CheckSecurityInfoForSecure(
749 browser()->tab_strip_model()->GetActiveWebContents(), 741 browser()->tab_strip_model()->GetActiveWebContents(),
750 security_state::SECURE, false, security_state::CONTENT_STATUS_NONE, false, 742 security_state::SECURE, false, security_state::CONTENT_STATUS_NONE, false,
751 false /* expect cert status error */); 743 false /* expect cert status error */);
752 } 744 }
(...skipping 905 matching lines...) Expand 10 before | Expand all | Expand 10 after
1658 https_server_.GetCertificate().get()); 1650 https_server_.GetCertificate().get());
1659 EXPECT_TRUE(observer.latest_explanations().scheme_is_cryptographic); 1651 EXPECT_TRUE(observer.latest_explanations().scheme_is_cryptographic);
1660 EXPECT_FALSE(observer.latest_explanations().pkp_bypassed); 1652 EXPECT_FALSE(observer.latest_explanations().pkp_bypassed);
1661 EXPECT_TRUE(observer.latest_explanations().info_explanations.empty()); 1653 EXPECT_TRUE(observer.latest_explanations().info_explanations.empty());
1662 EXPECT_FALSE(observer.latest_explanations().displayed_mixed_content); 1654 EXPECT_FALSE(observer.latest_explanations().displayed_mixed_content);
1663 EXPECT_FALSE(observer.latest_explanations().ran_mixed_content); 1655 EXPECT_FALSE(observer.latest_explanations().ran_mixed_content);
1664 1656
1665 // Navigate to a bad HTTPS page on a different host, and then click 1657 // Navigate to a bad HTTPS page on a different host, and then click
1666 // Back to verify that the previous good security style is seen again. 1658 // Back to verify that the previous good security style is seen again.
1667 GURL expired_https_url(https_test_server_expired.GetURL("/title1.html")); 1659 GURL expired_https_url(https_test_server_expired.GetURL("/title1.html"));
1668 host_resolver()->AddRule("www.example_broken.test", "127.0.0.1");
1669 GURL::Replacements replace_host; 1660 GURL::Replacements replace_host;
1670 replace_host.SetHostStr("www.example_broken.test"); 1661 replace_host.SetHostStr("www.example_broken.test");
1671 GURL https_url_different_host = 1662 GURL https_url_different_host =
1672 expired_https_url.ReplaceComponents(replace_host); 1663 expired_https_url.ReplaceComponents(replace_host);
1673 1664
1674 ui_test_utils::NavigateToURL(browser(), https_url_different_host); 1665 ui_test_utils::NavigateToURL(browser(), https_url_different_host);
1675 1666
1676 content::WaitForInterstitialAttach(web_contents); 1667 content::WaitForInterstitialAttach(web_contents);
1677 EXPECT_TRUE(web_contents->ShowingInterstitialPage()); 1668 EXPECT_TRUE(web_contents->ShowingInterstitialPage());
1678 CheckBrokenSecurityStyle(observer, net::ERR_CERT_COMMON_NAME_INVALID, 1669 CheckBrokenSecurityStyle(observer, net::ERR_CERT_COMMON_NAME_INVALID,
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
1866 base::string16 obsolete_description = l10n_util::GetStringFUTF16( 1857 base::string16 obsolete_description = l10n_util::GetStringFUTF16(
1867 IDS_OBSOLETE_SSL_DESCRIPTION, description_replacements, nullptr); 1858 IDS_OBSOLETE_SSL_DESCRIPTION, description_replacements, nullptr);
1868 1859
1869 EXPECT_EQ( 1860 EXPECT_EQ(
1870 obsolete_description, 1861 obsolete_description,
1871 base::ASCIIToUTF16( 1862 base::ASCIIToUTF16(
1872 observer.latest_explanations().info_explanations[0].description)); 1863 observer.latest_explanations().info_explanations[0].description));
1873 } 1864 }
1874 1865
1875 } // namespace 1866 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/search_engines/template_url_scraper_browsertest.cc ('k') | chrome/browser/ssl/ssl_browser_tests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698