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

Unified Diff: chrome/browser/ssl/ssl_error_handler.h

Issue 2449193002: Attempt an on-demand time fetch when encountering a date invalid error (Closed)
Patch Set: remove unnecessary EmptyClosure Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
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);
};

Powered by Google App Engine
This is Rietveld 408576698