Chromium Code Reviews| 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(); |
| } |