Index: net/socket/transport_client_socket_pool_unittest.cc |
diff --git a/net/socket/transport_client_socket_pool_unittest.cc b/net/socket/transport_client_socket_pool_unittest.cc |
index 5a61d00c977a2de4eb4e1893ab3de8f4dbad3166..66047275ab4c4f85a87fb9e9030c9ac769e9df6e 100644 |
--- a/net/socket/transport_client_socket_pool_unittest.cc |
+++ b/net/socket/transport_client_socket_pool_unittest.cc |
@@ -51,11 +51,15 @@ class MockClientSocket : public StreamSocket { |
: connected_(false), |
addrlist_(addrlist) {} |
- // StreamSocket methods: |
+ // StreamSocket implementation. |
virtual int Connect(OldCompletionCallback* callback) { |
connected_ = true; |
return OK; |
} |
+ virtual int Connect(const CompletionCallback& callback) { |
+ connected_ = true; |
+ return OK; |
+ } |
virtual void Disconnect() { |
connected_ = false; |
} |
@@ -112,10 +116,13 @@ class MockFailingClientSocket : public StreamSocket { |
public: |
MockFailingClientSocket(const AddressList& addrlist) : addrlist_(addrlist) {} |
- // StreamSocket methods: |
+ // StreamSocket implementation. |
virtual int Connect(OldCompletionCallback* callback) { |
return ERR_CONNECTION_FAILED; |
} |
+ virtual int Connect(const net::CompletionCallback& callback) { |
+ return ERR_CONNECTION_FAILED; |
+ } |
virtual void Disconnect() {} |
@@ -173,19 +180,28 @@ class MockPendingClientSocket : public StreamSocket { |
bool should_connect, |
bool should_stall, |
int delay_ms) |
- : method_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)), |
+ : ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)), |
should_connect_(should_connect), |
should_stall_(should_stall), |
delay_ms_(delay_ms), |
is_connected_(false), |
addrlist_(addrlist) {} |
- // StreamSocket methods: |
+ // StreamSocket implementation. |
virtual int Connect(OldCompletionCallback* callback) { |
MessageLoop::current()->PostDelayedTask( |
FROM_HERE, |
- method_factory_.NewRunnableMethod( |
- &MockPendingClientSocket::DoCallback, callback), delay_ms_); |
+ base::Bind(&MockPendingClientSocket::DoOldCallback, |
+ weak_factory_.GetWeakPtr(), callback), |
+ delay_ms_); |
+ return ERR_IO_PENDING; |
+ } |
+ virtual int Connect(const CompletionCallback& callback) { |
+ MessageLoop::current()->PostDelayedTask( |
+ FROM_HERE, |
+ base::Bind(&MockPendingClientSocket::DoCallback, |
+ weak_factory_.GetWeakPtr(), callback), |
+ delay_ms_); |
return ERR_IO_PENDING; |
} |
@@ -236,7 +252,7 @@ class MockPendingClientSocket : public StreamSocket { |
virtual bool SetSendBufferSize(int32 size) { return true; } |
private: |
- void DoCallback(OldCompletionCallback* callback) { |
+ void DoOldCallback(OldCompletionCallback* callback) { |
if (should_stall_) |
return; |
@@ -248,8 +264,20 @@ class MockPendingClientSocket : public StreamSocket { |
callback->Run(ERR_CONNECTION_FAILED); |
} |
} |
+ void DoCallback(const CompletionCallback& callback) { |
+ if (should_stall_) |
+ return; |
+ |
+ if (should_connect_) { |
+ is_connected_ = true; |
+ callback.Run(OK); |
+ } else { |
+ is_connected_ = false; |
+ callback.Run(ERR_CONNECTION_FAILED); |
+ } |
+ } |
- ScopedRunnableMethodFactory<MockPendingClientSocket> method_factory_; |
+ base::WeakPtrFactory<MockPendingClientSocket> weak_factory_; |
bool should_connect_; |
bool should_stall_; |
int delay_ms_; |