| Index: chrome/browser/ssl/ssl_error_handler.h
|
| diff --git a/chrome/browser/ssl/ssl_error_handler.h b/chrome/browser/ssl/ssl_error_handler.h
|
| index 2c1b9f6493edb060618f50563472b35d7b48b9cf..b64f05ebc477e0a2a2e1d5cdff153a1c03570a26 100644
|
| --- a/chrome/browser/ssl/ssl_error_handler.h
|
| +++ b/chrome/browser/ssl/ssl_error_handler.h
|
| @@ -9,6 +9,7 @@
|
|
|
| #include "base/callback_forward.h"
|
| #include "base/macros.h"
|
| +#include "base/memory/weak_ptr.h"
|
| #include "base/timer/timer.h"
|
| #include "chrome/browser/chrome_notification_types.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| @@ -34,6 +35,10 @@ namespace content {
|
| class WebContents;
|
| }
|
|
|
| +namespace network_time {
|
| +class NetworkTimeTracker;
|
| +}
|
| +
|
| // This class is responsible for deciding what type of interstitial to show for
|
| // an SSL validation error. The display of the interstitial might be delayed by
|
| // a few seconds (2 by default) while trying to determine the cause of the
|
| @@ -72,6 +77,8 @@ class SSLErrorHandler : public content::WebContentsUserData<SSLErrorHandler>,
|
| static void SetInterstitialTimerStartedCallbackForTest(
|
| TimerStartedCallback* callback);
|
| static void SetClockForTest(base::Clock* testing_clock);
|
| + static void SetNetworkTimeTrackerForTest(
|
| + network_time::NetworkTimeTracker* tracker);
|
|
|
| protected:
|
| // The parameters are the same as SSLBlockingPage's constructor.
|
| @@ -101,9 +108,8 @@ class SSLErrorHandler : public content::WebContentsUserData<SSLErrorHandler>,
|
| virtual bool IsErrorOverridable() const;
|
| virtual void ShowCaptivePortalInterstitial(const GURL& landing_url);
|
| virtual void ShowSSLInterstitial();
|
| -
|
| - void ShowBadClockInterstitial(const base::Time& now,
|
| - ssl_errors::ClockState clock_state);
|
| + virtual void ShowBadClockInterstitial(const base::Time& now,
|
| + ssl_errors::ClockState clock_state);
|
|
|
| // Gets the result of whether the suggested URL is valid. Displays
|
| // common name mismatch interstitial or ssl interstitial accordingly.
|
| @@ -130,6 +136,9 @@ class SSLErrorHandler : public content::WebContentsUserData<SSLErrorHandler>,
|
| // load stops or when there is a new navigation.
|
| void DeleteSSLErrorHandler();
|
|
|
| + void HandleCertDateInvalidError();
|
| + void HandleCertDateInvalidErrorImpl();
|
| +
|
| content::WebContents* web_contents_;
|
| const int cert_error_;
|
| const net::SSLInfo ssl_info_;
|
| @@ -145,6 +154,8 @@ class SSLErrorHandler : public content::WebContentsUserData<SSLErrorHandler>,
|
|
|
| std::unique_ptr<SSLCertReporter> ssl_cert_reporter_;
|
|
|
| + base::WeakPtrFactory<SSLErrorHandler> weak_ptr_factory_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(SSLErrorHandler);
|
| };
|
|
|
|
|