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

Side by Side Diff: chrome/browser/ssl/ssl_error_handler.h

Issue 2842833003: Update SupportsUserData uses with unique_ptr. (Closed)
Patch Set: rebase Created 3 years, 7 months 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 unified diff | Download patch
« no previous file with comments | « chrome/browser/search/instant_io_context.cc ('k') | chrome/browser/ssl/ssl_error_handler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #ifndef CHROME_BROWSER_SSL_SSL_ERROR_HANDLER_H_ 5 #ifndef CHROME_BROWSER_SSL_SSL_ERROR_HANDLER_H_
6 #define CHROME_BROWSER_SSL_SSL_ERROR_HANDLER_H_ 6 #define CHROME_BROWSER_SSL_SSL_ERROR_HANDLER_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/callback_forward.h" 10 #include "base/callback_forward.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 // 55 //
56 // This class should only be used on the UI thread because its implementation 56 // This class should only be used on the UI thread because its implementation
57 // uses captive_portal::CaptivePortalService which can only be accessed on the 57 // uses captive_portal::CaptivePortalService which can only be accessed on the
58 // UI thread. 58 // UI thread.
59 class SSLErrorHandler : public content::WebContentsUserData<SSLErrorHandler>, 59 class SSLErrorHandler : public content::WebContentsUserData<SSLErrorHandler>,
60 public content::WebContentsObserver, 60 public content::WebContentsObserver,
61 public content::NotificationObserver { 61 public content::NotificationObserver {
62 public: 62 public:
63 typedef base::Callback<void(content::WebContents*)> TimerStartedCallback; 63 typedef base::Callback<void(content::WebContents*)> TimerStartedCallback;
64 64
65 ~SSLErrorHandler() override;
66
65 // Events for UMA. Do not rename or remove values, add new values to the end. 67 // Events for UMA. Do not rename or remove values, add new values to the end.
66 // Public for testing. 68 // Public for testing.
67 enum UMAEvent { 69 enum UMAEvent {
68 HANDLE_ALL = 0, 70 HANDLE_ALL = 0,
69 SHOW_CAPTIVE_PORTAL_INTERSTITIAL_NONOVERRIDABLE = 1, 71 SHOW_CAPTIVE_PORTAL_INTERSTITIAL_NONOVERRIDABLE = 1,
70 SHOW_CAPTIVE_PORTAL_INTERSTITIAL_OVERRIDABLE = 2, 72 SHOW_CAPTIVE_PORTAL_INTERSTITIAL_OVERRIDABLE = 2,
71 SHOW_SSL_INTERSTITIAL_NONOVERRIDABLE = 3, 73 SHOW_SSL_INTERSTITIAL_NONOVERRIDABLE = 3,
72 SHOW_SSL_INTERSTITIAL_OVERRIDABLE = 4, 74 SHOW_SSL_INTERSTITIAL_OVERRIDABLE = 4,
73 WWW_MISMATCH_FOUND = 5, // Deprecated in M59 by WWW_MISMATCH_FOUND_IN_SAN. 75 WWW_MISMATCH_FOUND = 5, // Deprecated in M59 by WWW_MISMATCH_FOUND_IN_SAN.
74 WWW_MISMATCH_URL_AVAILABLE = 6, 76 WWW_MISMATCH_URL_AVAILABLE = 6,
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 SSLErrorHandler( 138 SSLErrorHandler(
137 std::unique_ptr<Delegate> delegate, 139 std::unique_ptr<Delegate> delegate,
138 content::WebContents* web_contents, 140 content::WebContents* web_contents,
139 Profile* profile, 141 Profile* profile,
140 int cert_error, 142 int cert_error,
141 const net::SSLInfo& ssl_info, 143 const net::SSLInfo& ssl_info,
142 const GURL& request_url, 144 const GURL& request_url,
143 const base::Callback<void(content::CertificateRequestResultType)>& 145 const base::Callback<void(content::CertificateRequestResultType)>&
144 callback); 146 callback);
145 147
146 ~SSLErrorHandler() override;
147
148 // Called when an SSL cert error is encountered. Triggers a captive portal 148 // Called when an SSL cert error is encountered. Triggers a captive portal
149 // check and fires a one shot timer to wait for a "captive portal detected" 149 // check and fires a one shot timer to wait for a "captive portal detected"
150 // result to arrive. Protected for testing. 150 // result to arrive. Protected for testing.
151 void StartHandlingError(); 151 void StartHandlingError();
152 152
153 private: 153 private:
154 void ShowCaptivePortalInterstitial(const GURL& landing_url); 154 void ShowCaptivePortalInterstitial(const GURL& landing_url);
155 void ShowSSLInterstitial(); 155 void ShowSSLInterstitial();
156 void ShowBadClockInterstitial(const base::Time& now, 156 void ShowBadClockInterstitial(const base::Time& now,
157 ssl_errors::ClockState clock_state); 157 ssl_errors::ClockState clock_state);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 base::OneShotTimer timer_; 194 base::OneShotTimer timer_;
195 195
196 std::unique_ptr<CommonNameMismatchHandler> common_name_mismatch_handler_; 196 std::unique_ptr<CommonNameMismatchHandler> common_name_mismatch_handler_;
197 197
198 base::WeakPtrFactory<SSLErrorHandler> weak_ptr_factory_; 198 base::WeakPtrFactory<SSLErrorHandler> weak_ptr_factory_;
199 199
200 DISALLOW_COPY_AND_ASSIGN(SSLErrorHandler); 200 DISALLOW_COPY_AND_ASSIGN(SSLErrorHandler);
201 }; 201 };
202 202
203 #endif // CHROME_BROWSER_SSL_SSL_ERROR_HANDLER_H_ 203 #endif // CHROME_BROWSER_SSL_SSL_ERROR_HANDLER_H_
OLDNEW
« no previous file with comments | « chrome/browser/search/instant_io_context.cc ('k') | chrome/browser/ssl/ssl_error_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698