Chromium Code Reviews| Index: chrome/browser/ssl/ssl_client_auth_handler.h |
| =================================================================== |
| --- chrome/browser/ssl/ssl_client_auth_handler.h (revision 0) |
| +++ chrome/browser/ssl/ssl_client_auth_handler.h (revision 0) |
| @@ -0,0 +1,60 @@ |
| +// Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CHROME_BROWSER_SSL_SSL_CLIENT_AUTH_HANDLER_H |
| +#define CHROME_BROWSER_SSL_SSL_CLIENT_AUTH_HANDLER_H |
| + |
| +#include "base/basictypes.h" |
| +#include "base/ref_counted.h" |
| +#include "net/base/ssl_cert_request_info.h" |
| + |
| +namespace net { |
| +class X509Certificate; |
| +} |
| +class MessageLoop; |
| +class URLRequest; |
| + |
| +// This class handles the approval and selection of a certificate for SSL client |
| +// authentication by the user. |
| +// It is self-owned and deletes itself when the UI reports the user selection or |
| +// when the URLRequest is cancelled. |
| +class SSLClientAuthHandler : public base::RefCounted<SSLClientAuthHandler> { |
| + public: |
| + SSLClientAuthHandler(URLRequest* request, |
| + net::SSLCertRequestInfo* cert_request_info, |
| + MessageLoop* io_loop, |
| + MessageLoop* ui_loop); |
| + ~SSLClientAuthHandler(); |
| + |
| + // Asks the user for a certificate and resumes the URL request with that |
|
wtc
2009/06/26 23:03:52
Nit: "for" => "to select" because we already found
|
| + // certificate. |
| + // Should only be called on the IO thread. |
| + void SelectCertificate(); |
| + |
| + // Invoked when the request associated with this handler is cancelled. |
| + // Should only be called on the IO thread. |
| + void OnRequestCancelled(); |
| + |
| + private: |
| + // Prompts the user for a cert. |
| + // Called on the UI thread. |
| + void AskUserForCertificate(); |
|
wtc
2009/06/26 23:03:52
You can just name this DoSelectCertificate -- we s
|
| + |
| + // Notifies that the user has selected a cert. |
| + // Called on the IO thread. |
| + void CertificateSelected(net::X509Certificate* cert); |
| + |
| + // The URLRequest that triggered this client auth. |
| + URLRequest* request_; |
| + |
| + // The certs to choose from. |
| + scoped_refptr<net::SSLCertRequestInfo> cert_request_info_; |
| + |
| + MessageLoop* io_loop_; |
| + MessageLoop* ui_loop_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(SSLClientAuthHandler); |
| +}; |
| + |
| +#endif // CHROME_BROWSER_SSL_SSL_CLIENT_AUTH_HANDLER_H |
| Property changes on: chrome\browser\ssl\ssl_client_auth_handler.h |
| ___________________________________________________________________ |
| Added: svn:eol-style |
| + LF |