Chromium Code Reviews| Index: net/socket/client_socket_pool_base.cc | 
| diff --git a/net/socket/client_socket_pool_base.cc b/net/socket/client_socket_pool_base.cc | 
| index 0bc0056b8355a6fd2c5a3936dee61222a27076f5..b0951819205d78fd9d9dfc92c00b8c0d35d3cf84 100644 | 
| --- a/net/socket/client_socket_pool_base.cc | 
| +++ b/net/socket/client_socket_pool_base.cc | 
| @@ -572,13 +572,8 @@ LoadState ClientSocketPoolBaseHelper::GetLoadState( | 
| const Group& group = *group_it->second; | 
| if (group.HasConnectJobForHandle(handle)) { | 
| - // Just return the state of the farthest along ConnectJob for the first | 
| - // group.jobs().size() pending requests. | 
| - LoadState max_state = LOAD_STATE_IDLE; | 
| - for (const auto& job : group.jobs()) { | 
| - max_state = std::max(max_state, job->GetLoadState()); | 
| - } | 
| - return max_state; | 
| + // Just return the state of the oldest ConnectJob. | 
| + return (*group.jobs().begin())->GetLoadState(); | 
| } | 
| if (group.CanUseAdditionalSocketSlot(max_sockets_per_group_)) | 
| @@ -628,7 +623,7 @@ base::DictionaryValue* ClientSocketPoolBaseHelper::GetInfoAsValue( | 
| group_dict->Set("idle_sockets", idle_socket_list); | 
| base::ListValue* connect_jobs_list = new base::ListValue(); | 
| - std::set<ConnectJob*>::const_iterator job = group->jobs().begin(); | 
| + std::list<ConnectJob*>::const_iterator job = group->jobs().begin(); | 
| for (job = group->jobs().begin(); job != group->jobs().end(); job++) { | 
| int source_id = (*job)->net_log().source().id; | 
| connect_jobs_list->Append(new base::FundamentalValue(source_id)); | 
| @@ -1192,19 +1187,14 @@ void ClientSocketPoolBaseHelper::Group::AddJob(scoped_ptr<ConnectJob> job, | 
| if (is_preconnect) | 
| ++unassigned_job_count_; | 
| - jobs_.insert(job.release()); | 
| + jobs_.push_back(job.release()); | 
| } | 
| void ClientSocketPoolBaseHelper::Group::RemoveJob(ConnectJob* job) { | 
| scoped_ptr<ConnectJob> owned_job(job); | 
| SanityCheck(); | 
| - std::set<ConnectJob*>::iterator it = jobs_.find(job); | 
| - if (it != jobs_.end()) { | 
| - jobs_.erase(it); | 
| - } else { | 
| - NOTREACHED(); | 
| - } | 
| + jobs_.remove(job); | 
| 
 
mmenke
2015/04/20 14:49:16
Suggest:
// |job| should appear once and only onc
 
haavardm
2015/04/21 13:28:36
Done. Lists doesn't have the find operation though
 
 | 
| size_t job_count = jobs_.size(); | 
| if (job_count < unassigned_job_count_) | 
| unassigned_job_count_ = job_count; |