Index: net/http/http_network_transaction.cc |
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc |
index d856d020e4fc4d4fa3dd06ba9755406e17d84ca3..110f822684a9f146a8ab2d33cadc32089e07fb88 100644 |
--- a/net/http/http_network_transaction.cc |
+++ b/net/http/http_network_transaction.cc |
@@ -479,6 +479,12 @@ void HttpNetworkTransaction::DoCallback(int rv) { |
void HttpNetworkTransaction::OnIOComplete(int result) { |
int rv = DoLoop(result); |
+ if (rv == ERR_PIPELINE_EVICTION) { |
+ stream_.reset(); |
+ stream_request_.reset(); |
+ next_state_ = STATE_NONE; |
+ RestartIgnoringLastError(user_callback_); |
+ } |
if (rv != ERR_IO_PENDING) |
DoCallback(rv); |
} |