Add plumbing for stale cache information to HttpResponseInfo
BUG=308233
[email protected]
Review URL: https://codereview.chromium.org/105893009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244670 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
index 7bec1f7..a1567a93 100644
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -853,6 +853,10 @@
NotifyCertificateRequested(
transaction_->GetResponseInfo()->cert_request_info.get());
} else {
+ // Even on an error, there may be useful information in the response
+ // info (e.g. whether there's a cached copy).
+ if (transaction_.get())
+ response_info_ = transaction_->GetResponseInfo();
NotifyStartError(URLRequestStatus(URLRequestStatus::FAILED, result));
}
}
@@ -944,9 +948,10 @@
void URLRequestHttpJob::GetResponseInfo(HttpResponseInfo* info) {
DCHECK(request_);
- DCHECK(transaction_.get());
if (response_info_) {
+ DCHECK(transaction_.get());
+
*info = *response_info_;
if (override_response_headers_.get())
info->headers = override_response_headers_;