| OLD | NEW |
| 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/captive_portal_blocking_page.h" | 5 #include "chrome/browser/ssl/captive_portal_blocking_page.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 | 272 |
| 273 // Same as above, with no SSID and no login URL. | 273 // Same as above, with no SSID and no login URL. |
| 274 IN_PROC_BROWSER_TEST_F(CaptivePortalBlockingPageTest, | 274 IN_PROC_BROWSER_TEST_F(CaptivePortalBlockingPageTest, |
| 275 WiFi_NoSSID_NoLoginURL) { | 275 WiFi_NoSSID_NoLoginURL) { |
| 276 const GURL kLandingUrl(captive_portal::CaptivePortalDetector::kDefaultURL); | 276 const GURL kLandingUrl(captive_portal::CaptivePortalDetector::kDefaultURL); |
| 277 TestInterstitial(true, std::string(), kLandingUrl, EXPECT_WIFI_YES, | 277 TestInterstitial(true, std::string(), kLandingUrl, EXPECT_WIFI_YES, |
| 278 EXPECT_WIFI_SSID_NO, EXPECT_LOGIN_URL_NO); | 278 EXPECT_WIFI_SSID_NO, EXPECT_LOGIN_URL_NO); |
| 279 } | 279 } |
| 280 | 280 |
| 281 IN_PROC_BROWSER_TEST_F(CaptivePortalBlockingPageTest, CertReportingOptIn) { | 281 IN_PROC_BROWSER_TEST_F(CaptivePortalBlockingPageTest, CertReportingOptIn) { |
| 282 CertificateReportingTestUtils::SetCertReportingFinchConfig( | 282 // This test should only run if the Finch config is such that reports |
| 283 CertReportHelper::kFinchGroupShowPossiblySend, "1.0"); | 283 // will be sent when opted in. This tests that a report *is* sent when |
| 284 TestCertReporting(CertificateReportingTestUtils::EXTENDED_REPORTING_OPT_IN); | 284 // the user opts in under such a Finch config, and the below test |
| 285 // tests that a report *is not* sent when the user doesn't opt in |
| 286 // (under any Finch config). |
| 287 if (CertificateReportingTestUtils::GetReportExpectedFromFinch() == |
| 288 CertificateReportingTestUtils::CERT_REPORT_EXPECTED) { |
| 289 TestCertReporting(CertificateReportingTestUtils::EXTENDED_REPORTING_OPT_IN); |
| 290 } |
| 285 } | 291 } |
| 286 | 292 |
| 287 IN_PROC_BROWSER_TEST_F(CaptivePortalBlockingPageTest, CertReportingOptOut) { | 293 IN_PROC_BROWSER_TEST_F(CaptivePortalBlockingPageTest, CertReportingOptOut) { |
| 288 CertificateReportingTestUtils::SetCertReportingFinchConfig( | |
| 289 CertReportHelper::kFinchGroupShowPossiblySend, "1.0"); | |
| 290 TestCertReporting( | 294 TestCertReporting( |
| 291 CertificateReportingTestUtils::EXTENDED_REPORTING_DO_NOT_OPT_IN); | 295 CertificateReportingTestUtils::EXTENDED_REPORTING_DO_NOT_OPT_IN); |
| 292 } | 296 } |
| 293 | 297 |
| 294 class CaptivePortalBlockingPageIDNTest : public SecurityInterstitialIDNTest { | 298 class CaptivePortalBlockingPageIDNTest : public SecurityInterstitialIDNTest { |
| 295 protected: | 299 protected: |
| 296 // SecurityInterstitialIDNTest implementation | 300 // SecurityInterstitialIDNTest implementation |
| 297 SecurityInterstitialPage* CreateInterstitial( | 301 SecurityInterstitialPage* CreateInterstitial( |
| 298 content::WebContents* contents, | 302 content::WebContents* contents, |
| 299 const GURL& request_url) const override { | 303 const GURL& request_url) const override { |
| 300 // Delegate is owned by the blocking page. | 304 // Delegate is owned by the blocking page. |
| 301 FakeConnectionInfoDelegate* delegate = | 305 FakeConnectionInfoDelegate* delegate = |
| 302 new FakeConnectionInfoDelegate(false, std::string()); | 306 new FakeConnectionInfoDelegate(false, std::string()); |
| 303 net::SSLInfo empty_ssl_info; | 307 net::SSLInfo empty_ssl_info; |
| 304 // Blocking page is owned by the interstitial. | 308 // Blocking page is owned by the interstitial. |
| 305 CaptivePortalBlockingPage* blocking_page = new CaptivePortalBlockingPage( | 309 CaptivePortalBlockingPage* blocking_page = new CaptivePortalBlockingPage( |
| 306 contents, GURL(kBrokenSSL), request_url, nullptr, empty_ssl_info, | 310 contents, GURL(kBrokenSSL), request_url, nullptr, empty_ssl_info, |
| 307 base::Callback<void(bool)>()); | 311 base::Callback<void(bool)>()); |
| 308 blocking_page->SetDelegate(delegate); | 312 blocking_page->SetDelegate(delegate); |
| 309 return blocking_page; | 313 return blocking_page; |
| 310 } | 314 } |
| 311 }; | 315 }; |
| 312 | 316 |
| 313 // Test that an IDN login domain is decoded properly. | 317 // Test that an IDN login domain is decoded properly. |
| 314 IN_PROC_BROWSER_TEST_F(CaptivePortalBlockingPageIDNTest, | 318 IN_PROC_BROWSER_TEST_F(CaptivePortalBlockingPageIDNTest, |
| 315 ShowLoginIDNIfPortalRedirectsDetectionURL) { | 319 ShowLoginIDNIfPortalRedirectsDetectionURL) { |
| 316 EXPECT_TRUE(VerifyIDNDecoded()); | 320 EXPECT_TRUE(VerifyIDNDecoded()); |
| 317 } | 321 } |
| OLD | NEW |