| Index: chrome/browser/ssl/ssl_error_handler.cc
|
| diff --git a/chrome/browser/ssl/ssl_error_handler.cc b/chrome/browser/ssl/ssl_error_handler.cc
|
| index 4e0a84bfa43deac3a4b5778737ba413f563e50ea..441634c86f4a8c461da2f28270ea82e7084ab3f9 100644
|
| --- a/chrome/browser/ssl/ssl_error_handler.cc
|
| +++ b/chrome/browser/ssl/ssl_error_handler.cc
|
| @@ -14,6 +14,7 @@
|
| #include "base/strings/stringprintf.h"
|
| #include "base/time/clock.h"
|
| #include "base/time/time.h"
|
| +#include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/ssl/bad_clock_blocking_page.h"
|
| #include "chrome/browser/ssl/ssl_blocking_page.h"
|
| @@ -33,6 +34,10 @@
|
| #include "chrome/browser/ssl/captive_portal_blocking_page.h"
|
| #endif
|
|
|
| +namespace network_time {
|
| +class NetworkTimeTracker;
|
| +}
|
| +
|
| namespace {
|
|
|
| // The delay in milliseconds before displaying the SSL interstitial.
|
| @@ -141,8 +146,16 @@ bool IsErrorDueToBadClock(const base::Time& now, int error) {
|
| ssl_errors::ErrorInfo::CERT_DATE_INVALID) {
|
| return false;
|
| }
|
| - return ssl_errors::IsUserClockInThePast(now) ||
|
| - ssl_errors::IsUserClockInTheFuture(now);
|
| + switch (ssl_errors::GetClockState(
|
| + now, g_browser_process->network_time_tracker())) {
|
| + case ssl_errors::NETWORK_FUTURE:
|
| + case ssl_errors::NETWORK_PAST:
|
| + case ssl_errors::BUILD_FUTURE:
|
| + case ssl_errors::BUILD_PAST:
|
| + return true;
|
| + default:
|
| + return false;
|
| + }
|
| }
|
|
|
| } // namespace
|
|
|