| Index: net/url_request/url_request.h
 | 
| diff --git a/net/url_request/url_request.h b/net/url_request/url_request.h
 | 
| index 3f399a658831a9933b418e31e956e75e6a4f65b0..e7c2c8b0219b80967dd0e4d9bd90f33653bddfea 100644
 | 
| --- a/net/url_request/url_request.h
 | 
| +++ b/net/url_request/url_request.h
 | 
| @@ -10,6 +10,7 @@
 | 
|  #include <string>
 | 
|  #include <vector>
 | 
|  
 | 
| +#include "net/base/auth.h"
 | 
|  #include "base/debug/leak_tracker.h"
 | 
|  #include "base/linked_ptr.h"
 | 
|  #include "base/logging.h"
 | 
| @@ -122,6 +123,8 @@ class URLRequest : public base::NonThreadSafe {
 | 
|    //      requests a client certificate for authentication)
 | 
|    //    - OnSSLCertificateError* (zero or one call, if the SSL server's
 | 
|    //      certificate has an error)
 | 
| +  //    - OnSSLAuthRequired* (zero or one call, if the SSL server requests
 | 
| +  //      client login credentials for authentication)
 | 
|    //    - OnReceivedRedirect* (zero or more calls, for the number of redirects)
 | 
|    //    - OnAuthRequired* (zero or more calls, for the number of
 | 
|    //      authentication failures)
 | 
| @@ -167,6 +170,10 @@ class URLRequest : public base::NonThreadSafe {
 | 
|      virtual void OnAuthRequired(URLRequest* request,
 | 
|                                  net::AuthChallengeInfo* auth_info);
 | 
|  
 | 
| +    // Called when we need to provide TLS client login credentials.
 | 
| +    virtual void OnTLSLoginRequired(URLRequest* request,
 | 
| +                                    net::AuthChallengeInfo* login_request_info);
 | 
| +
 | 
|      // Called when we receive an SSL CertificateRequest message for client
 | 
|      // authentication.  The delegate should call
 | 
|      // request->ContinueWithCertificate() with the client certificate the user
 | 
| @@ -526,6 +533,15 @@ class URLRequest : public base::NonThreadSafe {
 | 
|    // certificate.  Pass NULL if the user doesn't have a client certificate.
 | 
|    void ContinueWithCertificate(net::X509Certificate* client_cert);
 | 
|  
 | 
| +  // One of the following two methods should be called in response to an
 | 
| +  // OnTLSLoginRequired() callback.
 | 
| +  void CancelTLSLogin();
 | 
| +  void SetTLSLogin(const string16& username,
 | 
| +                   const string16& password);
 | 
| +  AuthData* GetTLSLoginAuthData();
 | 
| +
 | 
| +  void ContinueWithTLSLogin();
 | 
| +
 | 
|    // This method can be called after some error notifications to instruct this
 | 
|    // URLRequest to ignore the current error and continue with the request.  To
 | 
|    // cancel the request instead, call Cancel().
 | 
| @@ -652,6 +668,9 @@ class URLRequest : public base::NonThreadSafe {
 | 
|    // this to determine which URLRequest to allocate sockets to first.
 | 
|    net::RequestPriority priority_;
 | 
|  
 | 
| +  // TLS login data.
 | 
| +  scoped_refptr<net::AuthData> tls_login_auth_data_;
 | 
| +
 | 
|    base::debug::LeakTracker<URLRequest> leak_tracker_;
 | 
|  
 | 
|    DISALLOW_COPY_AND_ASSIGN(URLRequest);
 | 
| 
 |