Index: net/test/url_request/url_request_failed_job.cc |
diff --git a/net/test/url_request/url_request_failed_job.cc b/net/test/url_request/url_request_failed_job.cc |
index d7c479b14f719842b43379380cac89f9f7fe0c90..faf5e32e23f8b6b778e303f84431f57ef7890c16 100644 |
--- a/net/test/url_request/url_request_failed_job.cc |
+++ b/net/test/url_request/url_request_failed_job.cc |
@@ -14,6 +14,7 @@ |
#include "net/base/net_errors.h" |
#include "net/base/url_util.h" |
#include "net/http/http_response_headers.h" |
+#include "net/ssl/ssl_cert_request_info.h" |
#include "net/url_request/url_request.h" |
#include "net/url_request/url_request_filter.h" |
#include "net/url_request/url_request_interceptor.h" |
@@ -29,6 +30,7 @@ const char* kFailurePhase[]{ |
"start", // START |
"readsync", // READ_SYNC |
"readasync", // READ_ASYNC |
+ "certreq", // CERT_REQUESTED |
}; |
static_assert(arraysize(kFailurePhase) == |
@@ -69,7 +71,7 @@ GURL GetMockUrl(const std::string& scheme, |
URLRequestFailedJob::FailurePhase phase, |
int net_error) { |
CHECK_GE(phase, URLRequestFailedJob::FailurePhase::START); |
- CHECK_LE(phase, URLRequestFailedJob::FailurePhase::READ_ASYNC); |
+ CHECK_LE(phase, URLRequestFailedJob::FailurePhase::CERT_REQUESTED); |
svaldez
2015/11/20 16:30:10
Shouldn't this just be CHECK_LT(..., MAX_FAILURE_P
mef
2015/11/20 16:44:06
Done.
|
CHECK_LT(net_error, OK); |
return GURL(scheme + "://" + hostname + "/error?" + kFailurePhase[phase] + |
"=" + base::IntToString(net_error)); |
@@ -86,7 +88,7 @@ URLRequestFailedJob::URLRequestFailedJob(URLRequest* request, |
net_error_(net_error), |
weak_factory_(this) { |
CHECK_GE(phase, URLRequestFailedJob::FailurePhase::START); |
- CHECK_LE(phase, URLRequestFailedJob::FailurePhase::READ_ASYNC); |
+ CHECK_LE(phase, URLRequestFailedJob::FailurePhase::CERT_REQUESTED); |
svaldez
2015/11/20 16:30:10
see above.
mef
2015/11/20 16:44:06
Done.
|
CHECK_LT(net_error, OK); |
} |
@@ -120,6 +122,12 @@ int URLRequestFailedJob::GetResponseCode() const { |
return URLRequestJob::GetResponseCode(); |
} |
+void URLRequestFailedJob::ContinueWithCertificate( |
+ X509Certificate* client_cert, |
+ SSLPrivateKey* client_private_key) { |
+ NotifyStartError(URLRequestStatus::FromError(net_error_)); |
+} |
+ |
void URLRequestFailedJob::GetResponseInfo(HttpResponseInfo* info) { |
*info = response_info_; |
} |
@@ -184,6 +192,11 @@ void URLRequestFailedJob::StartAsync() { |
SetStatus(URLRequestStatus(URLRequestStatus::IO_PENDING, 0)); |
return; |
} |
+ if (phase_ == CERT_REQUESTED) { |
+ scoped_refptr<SSLCertRequestInfo> request_all(new SSLCertRequestInfo()); |
+ NotifyCertificateRequested(request_all.get()); |
+ return; |
+ } |
response_info_.headers = new net::HttpResponseHeaders("HTTP/1.1 200 OK"); |
NotifyHeadersComplete(); |
} |