Index: net/quic/chromium/quic_chromium_client_session.cc |
diff --git a/net/quic/chromium/quic_chromium_client_session.cc b/net/quic/chromium/quic_chromium_client_session.cc |
index 0701f6a1599e92df8acaf55aff1c7af1f3c3a83b..bdf9326be9dcb0f41aa93f682a509a59e8ee0add 100644 |
--- a/net/quic/chromium/quic_chromium_client_session.cc |
+++ b/net/quic/chromium/quic_chromium_client_session.cc |
@@ -321,17 +321,9 @@ QuicChromiumClientSession::~QuicChromiumClientSession() { |
CloseAllStreams(ERR_UNEXPECTED); |
DCHECK(observers_.empty()); |
CloseAllObservers(ERR_UNEXPECTED); |
+ CancelAllRequests(ERR_UNEXPECTED); |
connection()->set_debug_visitor(nullptr); |
- |
- UMA_HISTOGRAM_COUNTS_1000("Net.QuicSession.AbortedPendingStreamRequests", |
- stream_requests_.size()); |
- |
- while (!stream_requests_.empty()) { |
- StreamRequest* request = stream_requests_.front(); |
- stream_requests_.pop_front(); |
- request->OnRequestCompleteFailure(ERR_ABORTED); |
- } |
} |
if (connection()->connected()) { |
@@ -1013,6 +1005,7 @@ void QuicChromiumClientSession::OnConnectionClosed( |
DCHECK(dynamic_streams().empty()); |
CloseAllStreams(ERR_UNEXPECTED); |
CloseAllObservers(ERR_UNEXPECTED); |
+ CancelAllRequests(ERR_CONNECTION_CLOSED); |
NotifyFactoryOfSessionClosedLater(); |
} |
@@ -1270,6 +1263,17 @@ void QuicChromiumClientSession::CloseAllObservers(int net_error) { |
} |
} |
+void QuicChromiumClientSession::CancelAllRequests(int net_error) { |
+ UMA_HISTOGRAM_COUNTS_1000("Net.QuicSession.AbortedPendingStreamRequests", |
+ stream_requests_.size()); |
+ |
+ while (!stream_requests_.empty()) { |
+ StreamRequest* request = stream_requests_.front(); |
+ stream_requests_.pop_front(); |
+ request->OnRequestCompleteFailure(net_error); |
+ } |
+} |
+ |
std::unique_ptr<base::Value> QuicChromiumClientSession::GetInfoAsValue( |
const std::set<HostPortPair>& aliases) { |
std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); |