| Index: net/socket/socks_client_socket_unittest.cc
 | 
| diff --git a/net/socket/socks_client_socket_unittest.cc b/net/socket/socks_client_socket_unittest.cc
 | 
| index 7bb7ab7c3e794600268d35491fcd1154837a9157..56d84a858e28dead01413cdf8500f24acfd73435 100644
 | 
| --- a/net/socket/socks_client_socket_unittest.cc
 | 
| +++ b/net/socket/socks_client_socket_unittest.cc
 | 
| @@ -5,6 +5,8 @@
 | 
|  #include "net/socket/socks_client_socket.h"
 | 
|  
 | 
|  #include "net/base/address_list.h"
 | 
| +#include "net/base/load_log.h"
 | 
| +#include "net/base/load_log_unittest.h"
 | 
|  #include "net/base/mock_host_resolver.h"
 | 
|  #include "net/base/test_completion_callback.h"
 | 
|  #include "net/base/winsock_init.h"
 | 
| @@ -62,7 +64,7 @@ SOCKSClientSocket* SOCKSClientSocketTest::BuildMockSocket(
 | 
|    mock_socket_.reset(new StaticMockSocket(reads, writes));
 | 
|    tcp_sock_ = new MockTCPClientSocket(address_list_, mock_socket_.get());
 | 
|  
 | 
| -  int rv = tcp_sock_->Connect(&callback);
 | 
| +  int rv = tcp_sock_->Connect(&callback, NULL);
 | 
|    EXPECT_EQ(ERR_IO_PENDING, rv);
 | 
|    rv = callback.WaitForResult();
 | 
|    EXPECT_EQ(OK, rv);
 | 
| @@ -91,14 +93,19 @@ TEST_F(SOCKSClientSocketTest, CompleteHandshake) {
 | 
|    EXPECT_TRUE(tcp_sock_->IsConnected());
 | 
|    EXPECT_FALSE(user_sock_->IsConnected());
 | 
|  
 | 
| -  int rv = user_sock_->Connect(&callback_);
 | 
| +  scoped_refptr<LoadLog> log(new LoadLog);
 | 
| +  int rv = user_sock_->Connect(&callback_, log);
 | 
|    EXPECT_EQ(ERR_IO_PENDING, rv);
 | 
| +  EXPECT_TRUE(
 | 
| +      LogContains(*log, 0, LoadLog::TYPE_SOCKS_CONNECT, LoadLog::PHASE_BEGIN));
 | 
|    EXPECT_FALSE(user_sock_->IsConnected());
 | 
|    rv = callback_.WaitForResult();
 | 
|  
 | 
|    EXPECT_EQ(OK, rv);
 | 
|    EXPECT_TRUE(user_sock_->IsConnected());
 | 
|    EXPECT_EQ(SOCKSClientSocket::kSOCKS4, user_sock_->socks_version_);
 | 
| +  EXPECT_TRUE(LogContains(
 | 
| +      *log, -1, LoadLog::TYPE_SOCKS_CONNECT, LoadLog::PHASE_END));
 | 
|  
 | 
|    scoped_refptr<IOBuffer> buffer = new IOBuffer(payload_write.size());
 | 
|    memcpy(buffer->data(), payload_write.data(), payload_write.size());
 | 
| @@ -147,13 +154,18 @@ TEST_F(SOCKSClientSocketTest, HandshakeFailures) {
 | 
|          MockRead(false, tests[i].fail_reply, arraysize(tests[i].fail_reply)) };
 | 
|  
 | 
|      user_sock_.reset(BuildMockSocket(data_reads, data_writes, "localhost", 80));
 | 
| +    scoped_refptr<LoadLog> log(new LoadLog);
 | 
|  
 | 
| -    int rv = user_sock_->Connect(&callback_);
 | 
| +    int rv = user_sock_->Connect(&callback_, log);
 | 
|      EXPECT_EQ(ERR_IO_PENDING, rv);
 | 
| +    EXPECT_TRUE(LogContains(
 | 
| +        *log, 0, LoadLog::TYPE_SOCKS_CONNECT, LoadLog::PHASE_BEGIN));
 | 
|      rv = callback_.WaitForResult();
 | 
|      EXPECT_EQ(tests[i].fail_code, rv);
 | 
|      EXPECT_FALSE(user_sock_->IsConnected());
 | 
|      EXPECT_TRUE(tcp_sock_->IsConnected());
 | 
| +    EXPECT_TRUE(LogContains(
 | 
| +        *log, -1, LoadLog::TYPE_SOCKS_CONNECT, LoadLog::PHASE_END));
 | 
|    }
 | 
|  }
 | 
|  
 | 
| @@ -170,12 +182,17 @@ TEST_F(SOCKSClientSocketTest, PartialServerReads) {
 | 
|        MockRead(true, kSOCKSPartialReply2, arraysize(kSOCKSPartialReply2)) };
 | 
|  
 | 
|    user_sock_.reset(BuildMockSocket(data_reads, data_writes, "localhost", 80));
 | 
| +  scoped_refptr<LoadLog> log(new LoadLog);
 | 
|  
 | 
| -  int rv = user_sock_->Connect(&callback_);
 | 
| +  int rv = user_sock_->Connect(&callback_, log);
 | 
|    EXPECT_EQ(ERR_IO_PENDING, rv);
 | 
| +  EXPECT_TRUE(LogContains(
 | 
| +      *log, 0, LoadLog::TYPE_SOCKS_CONNECT, LoadLog::PHASE_BEGIN));
 | 
|    rv = callback_.WaitForResult();
 | 
|    EXPECT_EQ(OK, rv);
 | 
|    EXPECT_TRUE(user_sock_->IsConnected());
 | 
| +  EXPECT_TRUE(LogContains(
 | 
| +      *log, -1, LoadLog::TYPE_SOCKS_CONNECT, LoadLog::PHASE_END));
 | 
|  }
 | 
|  
 | 
|  // Tests scenario when the client sends the handshake request in
 | 
| @@ -195,12 +212,17 @@ TEST_F(SOCKSClientSocketTest, PartialClientWrites) {
 | 
|        MockRead(true, kSOCKSOkReply, arraysize(kSOCKSOkReply)) };
 | 
|  
 | 
|    user_sock_.reset(BuildMockSocket(data_reads, data_writes, "localhost", 80));
 | 
| +  scoped_refptr<LoadLog> log(new LoadLog);
 | 
|  
 | 
| -  int rv = user_sock_->Connect(&callback_);
 | 
| +  int rv = user_sock_->Connect(&callback_, log);
 | 
|    EXPECT_EQ(ERR_IO_PENDING, rv);
 | 
| +  EXPECT_TRUE(LogContains(
 | 
| +      *log, 0, LoadLog::TYPE_SOCKS_CONNECT, LoadLog::PHASE_BEGIN));
 | 
|    rv = callback_.WaitForResult();
 | 
|    EXPECT_EQ(OK, rv);
 | 
|    EXPECT_TRUE(user_sock_->IsConnected());
 | 
| +  EXPECT_TRUE(LogContains(
 | 
| +      *log, -1, LoadLog::TYPE_SOCKS_CONNECT, LoadLog::PHASE_END));
 | 
|  }
 | 
|  
 | 
|  // Tests the case when the server sends a smaller sized handshake data
 | 
| @@ -214,12 +236,17 @@ TEST_F(SOCKSClientSocketTest, FailedSocketRead) {
 | 
|        MockRead(false, 0) };
 | 
|  
 | 
|    user_sock_.reset(BuildMockSocket(data_reads, data_writes, "localhost", 80));
 | 
| +  scoped_refptr<LoadLog> log(new LoadLog);
 | 
|  
 | 
| -  int rv = user_sock_->Connect(&callback_);
 | 
| +  int rv = user_sock_->Connect(&callback_, log);
 | 
|    EXPECT_EQ(ERR_IO_PENDING, rv);
 | 
| +  EXPECT_TRUE(LogContains(
 | 
| +      *log, 0, LoadLog::TYPE_SOCKS_CONNECT, LoadLog::PHASE_BEGIN));
 | 
|    rv = callback_.WaitForResult();
 | 
|    EXPECT_EQ(ERR_CONNECTION_CLOSED, rv);
 | 
|    EXPECT_FALSE(user_sock_->IsConnected());
 | 
| +  EXPECT_TRUE(LogContains(
 | 
| +      *log, -1, LoadLog::TYPE_SOCKS_CONNECT, LoadLog::PHASE_END));
 | 
|  }
 | 
|  
 | 
|  // Tries to connect to an unknown DNS and on failure should revert to SOCKS4A.
 | 
| @@ -238,13 +265,18 @@ TEST_F(SOCKSClientSocketTest, SOCKS4AFailedDNS) {
 | 
|        MockRead(false, kSOCKSOkReply, arraysize(kSOCKSOkReply)) };
 | 
|  
 | 
|    user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
 | 
| +  scoped_refptr<LoadLog> log(new LoadLog);
 | 
|  
 | 
| -  int rv = user_sock_->Connect(&callback_);
 | 
| +  int rv = user_sock_->Connect(&callback_, log);
 | 
|    EXPECT_EQ(ERR_IO_PENDING, rv);
 | 
| +  EXPECT_TRUE(LogContains(
 | 
| +      *log, 0, LoadLog::TYPE_SOCKS_CONNECT, LoadLog::PHASE_BEGIN));
 | 
|    rv = callback_.WaitForResult();
 | 
|    EXPECT_EQ(OK, rv);
 | 
|    EXPECT_TRUE(user_sock_->IsConnected());
 | 
|    EXPECT_EQ(SOCKSClientSocket::kSOCKS4a, user_sock_->socks_version_);
 | 
| +  EXPECT_TRUE(LogContains(
 | 
| +      *log, -1, LoadLog::TYPE_SOCKS_CONNECT, LoadLog::PHASE_END));
 | 
|  }
 | 
|  
 | 
|  // Tries to connect to a domain that resolves to IPv6.
 | 
| @@ -264,14 +296,18 @@ TEST_F(SOCKSClientSocketTest, SOCKS4AIfDomainInIPv6) {
 | 
|        MockRead(false, kSOCKSOkReply, arraysize(kSOCKSOkReply)) };
 | 
|  
 | 
|    user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
 | 
| +  scoped_refptr<LoadLog> log(new LoadLog);
 | 
|  
 | 
| -  int rv = user_sock_->Connect(&callback_);
 | 
| +  int rv = user_sock_->Connect(&callback_, log);
 | 
|    EXPECT_EQ(ERR_IO_PENDING, rv);
 | 
| +  EXPECT_TRUE(LogContains(
 | 
| +      *log, 0, LoadLog::TYPE_SOCKS_CONNECT, LoadLog::PHASE_BEGIN));
 | 
|    rv = callback_.WaitForResult();
 | 
|    EXPECT_EQ(OK, rv);
 | 
|    EXPECT_TRUE(user_sock_->IsConnected());
 | 
|    EXPECT_EQ(SOCKSClientSocket::kSOCKS4a, user_sock_->socks_version_);
 | 
| +  EXPECT_TRUE(LogContains(
 | 
| +      *log, -1, LoadLog::TYPE_SOCKS_CONNECT, LoadLog::PHASE_END));
 | 
|  }
 | 
|  
 | 
|  }  // namespace net
 | 
| -
 | 
| 
 |