Fix OnReceiveResponse expectations (fixes issue #3380)
OnHeadersReceived may not have been called for cached responses.
This commit is contained in:
parent
27d4f1fc97
commit
f8d90a8972
|
@ -562,10 +562,11 @@ void InterceptedRequest::OnReceiveResponse(
|
||||||
current_response_ = std::move(head);
|
current_response_ = std::move(head);
|
||||||
current_body_ = std::move(body);
|
current_body_ = std::move(body);
|
||||||
|
|
||||||
if (current_request_uses_header_client_) {
|
// |current_headers_| may be null for cached responses where OnHeadersReceived
|
||||||
|
// is not called.
|
||||||
|
if (current_request_uses_header_client_ && current_headers_) {
|
||||||
// Use the headers we got from OnHeadersReceived as that'll contain
|
// Use the headers we got from OnHeadersReceived as that'll contain
|
||||||
// Set-Cookie if it existed.
|
// Set-Cookie if it existed.
|
||||||
DCHECK(current_headers_);
|
|
||||||
current_response_->headers = current_headers_;
|
current_response_->headers = current_headers_;
|
||||||
current_headers_ = nullptr;
|
current_headers_ = nullptr;
|
||||||
ContinueToResponseStarted(net::OK);
|
ContinueToResponseStarted(net::OK);
|
||||||
|
@ -588,13 +589,13 @@ void InterceptedRequest::OnReceiveRedirect(
|
||||||
current_response_ = std::move(head);
|
current_response_ = std::move(head);
|
||||||
current_body_.reset();
|
current_body_.reset();
|
||||||
|
|
||||||
if (current_request_uses_header_client_) {
|
// |current_headers_| may be null for synthetic redirects where
|
||||||
|
// OnHeadersReceived is not called.
|
||||||
|
if (current_request_uses_header_client_ && current_headers_) {
|
||||||
// Use the headers we got from OnHeadersReceived as that'll contain
|
// Use the headers we got from OnHeadersReceived as that'll contain
|
||||||
// Set-Cookie if it existed. May be null for synthetic redirects.
|
// Set-Cookie if it existed.
|
||||||
if (current_headers_) {
|
current_response_->headers = current_headers_;
|
||||||
current_response_->headers = current_headers_;
|
current_headers_ = nullptr;
|
||||||
current_headers_ = nullptr;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (--redirect_limit_ == 0) {
|
if (--redirect_limit_ == 0) {
|
||||||
|
|
Loading…
Reference in New Issue