| Index: net/socket/client_socket_pool_base_unittest.cc | 
| diff --git a/net/socket/client_socket_pool_base_unittest.cc b/net/socket/client_socket_pool_base_unittest.cc | 
| index 391fb61e6d0557b28932f96059d13bf8db2b30ff..ecabdd163e2c9211956a286d6fedb761bc0490c7 100644 | 
| --- a/net/socket/client_socket_pool_base_unittest.cc | 
| +++ b/net/socket/client_socket_pool_base_unittest.cc | 
| @@ -1955,48 +1955,63 @@ TEST_F(ClientSocketPoolBaseTest, LoadStateOneRequest) { | 
| } | 
|  | 
| // Test GetLoadState in the case there are two socket requests. | 
| +// Only the first connection in the pool should affect the pool's load status. | 
| TEST_F(ClientSocketPoolBaseTest, LoadStateTwoRequests) { | 
| CreatePool(2, 2); | 
| connect_job_factory_->set_job_type(TestConnectJob::kMockWaitingJob); | 
|  | 
| ClientSocketHandle handle; | 
| TestCompletionCallback callback; | 
| -  int rv = handle.Init("a", | 
| -                       params_, | 
| -                       DEFAULT_PRIORITY, | 
| -                       callback.callback(), | 
| -                       pool_.get(), | 
| -                       BoundNetLog()); | 
| +  int rv = handle.Init("a", params_, DEFAULT_PRIORITY, callback.callback(), | 
| +                       pool_.get(), BoundNetLog()); | 
| EXPECT_EQ(ERR_IO_PENDING, rv); | 
| +  client_socket_factory_.SetJobLoadState(0, LOAD_STATE_RESOLVING_HOST); | 
|  | 
| ClientSocketHandle handle2; | 
| TestCompletionCallback callback2; | 
| -  rv = handle2.Init("a", | 
| -                    params_, | 
| -                    DEFAULT_PRIORITY, | 
| -                    callback2.callback(), | 
| -                    pool_.get(), | 
| -                    BoundNetLog()); | 
| +  rv = handle2.Init("a", params_, DEFAULT_PRIORITY, callback2.callback(), | 
| +                    pool_.get(), BoundNetLog()); | 
| EXPECT_EQ(ERR_IO_PENDING, rv); | 
| +  client_socket_factory_.SetJobLoadState(1, LOAD_STATE_RESOLVING_HOST); | 
|  | 
| -  // If the first Job is in an earlier state than the second, the state of | 
| -  // the second job should be used for both handles. | 
| -  client_socket_factory_.SetJobLoadState(0, LOAD_STATE_RESOLVING_HOST); | 
| +  // Check that both handles report the state of the first job. | 
| +  EXPECT_EQ(LOAD_STATE_RESOLVING_HOST, handle.GetLoadState()); | 
| +  EXPECT_EQ(LOAD_STATE_RESOLVING_HOST, handle2.GetLoadState()); | 
| + | 
| +  client_socket_factory_.SetJobLoadState(0, LOAD_STATE_CONNECTING); | 
| + | 
| +  // Check that both handles change to LOAD_STATE_CONNECTING. | 
| EXPECT_EQ(LOAD_STATE_CONNECTING, handle.GetLoadState()); | 
| EXPECT_EQ(LOAD_STATE_CONNECTING, handle2.GetLoadState()); | 
| +} | 
|  | 
| -  // If the second Job is in an earlier state than the second, the state of | 
| -  // the first job should be used for both handles. | 
| -  client_socket_factory_.SetJobLoadState(0, LOAD_STATE_SSL_HANDSHAKE); | 
| -  // One request is farther | 
| -  EXPECT_EQ(LOAD_STATE_SSL_HANDSHAKE, handle.GetLoadState()); | 
| -  EXPECT_EQ(LOAD_STATE_SSL_HANDSHAKE, handle2.GetLoadState()); | 
| +// Test that the second connection request does not affect the pool's load | 
| +// status. | 
| +TEST_F(ClientSocketPoolBaseTest, LoadStateTwoRequestsChangeSecondRequestState) { | 
| +  CreatePool(2, 2); | 
| +  connect_job_factory_->set_job_type(TestConnectJob::kMockWaitingJob); | 
| + | 
| +  ClientSocketHandle handle; | 
| +  TestCompletionCallback callback; | 
| +  int rv = handle.Init("a", params_, DEFAULT_PRIORITY, callback.callback(), | 
| +                       pool_.get(), BoundNetLog()); | 
| +  EXPECT_EQ(ERR_IO_PENDING, rv); | 
|  | 
| -  // Farthest along job connects and the first request gets the socket.  The | 
| +  ClientSocketHandle handle2; | 
| +  TestCompletionCallback callback2; | 
| +  rv = handle2.Init("a", params_, DEFAULT_PRIORITY, callback2.callback(), | 
| +                    pool_.get(), BoundNetLog()); | 
| +  EXPECT_EQ(ERR_IO_PENDING, rv); | 
| +  client_socket_factory_.SetJobLoadState(1, LOAD_STATE_RESOLVING_HOST); | 
| + | 
| +  EXPECT_EQ(LOAD_STATE_CONNECTING, handle.GetLoadState()); | 
| +  EXPECT_EQ(LOAD_STATE_CONNECTING, handle2.GetLoadState()); | 
| + | 
| +  // First job connects and the first request gets the socket.  The | 
| // second handle switches to the state of the remaining ConnectJob. | 
| client_socket_factory_.SignalJob(0); | 
| EXPECT_EQ(OK, callback.WaitForResult()); | 
| -  EXPECT_EQ(LOAD_STATE_CONNECTING, handle2.GetLoadState()); | 
| +  EXPECT_EQ(LOAD_STATE_RESOLVING_HOST, handle2.GetLoadState()); | 
| } | 
|  | 
| // Test GetLoadState in the case the per-group limit is reached. | 
|  |