| Index: chrome/browser/ssl/ssl_browser_tests.cc
|
| diff --git a/chrome/browser/ssl/ssl_browser_tests.cc b/chrome/browser/ssl/ssl_browser_tests.cc
|
| index 0f0c4656d414f90b1d0ac19b2d451207fa3b39ee..a24ef756bc92ac1ca09b0a2e11952a640718ecb9 100644
|
| --- a/chrome/browser/ssl/ssl_browser_tests.cc
|
| +++ b/chrome/browser/ssl/ssl_browser_tests.cc
|
| @@ -49,6 +49,7 @@
|
| #include "chrome/test/base/in_process_browser_test.h"
|
| #include "chrome/test/base/ui_test_utils.h"
|
| #include "components/content_settings/core/browser/host_content_settings_map.h"
|
| +#include "components/network_time/network_time_tracker.h"
|
| #include "components/prefs/pref_service.h"
|
| #include "components/security_interstitials/core/controller_client.h"
|
| #include "components/security_interstitials/core/metrics_helper.h"
|
| @@ -523,12 +524,13 @@ class SSLUITest
|
| ASSERT_TRUE(https_server_expired_.Start());
|
| ASSERT_NO_FATAL_FAILURE(SetUpMockReporter());
|
|
|
| - // Set up the build and current clock times to be more than a year apart.
|
| - scoped_ptr<base::SimpleTestClock> mock_clock(new base::SimpleTestClock());
|
| - mock_clock->SetNow(base::Time::NowFromSystemTime());
|
| - mock_clock->Advance(base::TimeDelta::FromDays(367));
|
| - SSLErrorHandler::SetClockForTest(mock_clock.get());
|
| - ssl_errors::SetBuildTimeForTesting(base::Time::NowFromSystemTime());
|
| + // Set network time back ten minutes, which is sufficient to
|
| + // trigger the reporting.
|
| + g_browser_process->network_time_tracker()->UpdateNetworkTime(
|
| + base::Time::Now() - base::TimeDelta::FromMinutes(10),
|
| + base::TimeDelta::FromMilliseconds(1), /* resolution */
|
| + base::TimeDelta::FromMilliseconds(500), /* latency */
|
| + base::TimeTicks::Now() /* posting time of this update */);
|
|
|
| // Opt in to sending reports for invalid certificate chains.
|
| certificate_reporting_test_utils::SetCertReportingOptIn(browser, opt_in);
|
| @@ -898,7 +900,7 @@ IN_PROC_BROWSER_TEST_F(SSLUITestIgnoreLocalhostCertErrors,
|
| EXPECT_EQ(title, expected_title);
|
| }
|
|
|
| -IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSErrorCausedByClock) {
|
| +IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSErrorCausedByClockUsingBuildTime) {
|
| ASSERT_TRUE(https_server_expired_.Start());
|
|
|
| // Set up the build and current clock times to be more than a year apart.
|
| @@ -917,6 +919,26 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSErrorCausedByClock) {
|
| clock_interstitial->GetDelegateForTesting()->GetTypeForTesting());
|
| }
|
|
|
| +IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSErrorCausedByClockUsingNetwork) {
|
| + ASSERT_TRUE(https_server_expired_.Start());
|
| +
|
| + // Set network forward ten minutes, which is sufficient to trigger
|
| + // the interstitial.
|
| + g_browser_process->network_time_tracker()->UpdateNetworkTime(
|
| + base::Time::Now() + base::TimeDelta::FromMinutes(10),
|
| + base::TimeDelta::FromMilliseconds(1), /* resolution */
|
| + base::TimeDelta::FromMilliseconds(500), /* latency */
|
| + base::TimeTicks::Now() /* posting time of this update */);
|
| +
|
| + ui_test_utils::NavigateToURL(browser(), https_server_expired_.GetURL("/"));
|
| + WebContents* clock_tab = browser()->tab_strip_model()->GetActiveWebContents();
|
| + content::WaitForInterstitialAttach(clock_tab);
|
| + InterstitialPage* clock_interstitial = clock_tab->GetInterstitialPage();
|
| + ASSERT_TRUE(clock_interstitial);
|
| + EXPECT_EQ(BadClockBlockingPage::kTypeForTesting,
|
| + clock_interstitial->GetDelegateForTesting()->GetTypeForTesting());
|
| +}
|
| +
|
| // Visits a page with https error and then goes back using Browser::GoBack.
|
| IN_PROC_BROWSER_TEST_F(SSLUITest,
|
| TestHTTPSExpiredCertAndGoBackViaButton) {
|
|
|