| 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);
|
|
|