| Index: net/http/http_stream_factory_impl_request.cc
|
| diff --git a/net/http/http_stream_factory_impl_request.cc b/net/http/http_stream_factory_impl_request.cc
|
| index 451b15903c6d939989fa802140106929aec2fafd..424104d471c58701465688027121370b35eac93e 100644
|
| --- a/net/http/http_stream_factory_impl_request.cc
|
| +++ b/net/http/http_stream_factory_impl_request.cc
|
| @@ -63,10 +63,9 @@ bool HttpStreamFactoryImpl::Request::SetHttpPipeliningKey(
|
| http_pipelining_key_.reset(new HttpPipelinedHost::Key(http_pipelining_key));
|
| bool was_new_key = !ContainsKey(factory_->http_pipelining_request_map_,
|
| http_pipelining_key);
|
| - RequestSet& request_set =
|
| + RequestVector& request_vector =
|
| factory_->http_pipelining_request_map_[http_pipelining_key];
|
| - DCHECK(!ContainsKey(request_set, this));
|
| - request_set.insert(this);
|
| + request_vector.push_back(this);
|
| return was_new_key;
|
| }
|
|
|
| @@ -267,11 +266,16 @@ HttpStreamFactoryImpl::Request::RemoveRequestFromHttpPipeliningRequestMap() {
|
| HttpPipeliningRequestMap& http_pipelining_request_map =
|
| factory_->http_pipelining_request_map_;
|
| DCHECK(ContainsKey(http_pipelining_request_map, *http_pipelining_key_));
|
| - RequestSet& request_set =
|
| + RequestVector& request_vector =
|
| http_pipelining_request_map[*http_pipelining_key_];
|
| - DCHECK(ContainsKey(request_set, this));
|
| - request_set.erase(this);
|
| - if (request_set.empty())
|
| + for (RequestVector::iterator it = request_vector.begin();
|
| + it != request_vector.end(); ++it) {
|
| + if (*it == this) {
|
| + request_vector.erase(it);
|
| + break;
|
| + }
|
| + }
|
| + if (request_vector.empty())
|
| http_pipelining_request_map.erase(*http_pipelining_key_);
|
| http_pipelining_key_.reset();
|
| }
|
|
|