Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(853)

Unified Diff: jingle/notifier/base/chrome_async_socket.cc

Issue 8551004: base::Bind: Convert jingle/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « jingle/notifier/base/chrome_async_socket.h ('k') | jingle/notifier/base/proxy_resolving_client_socket.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: jingle/notifier/base/chrome_async_socket.cc
diff --git a/jingle/notifier/base/chrome_async_socket.cc b/jingle/notifier/base/chrome_async_socket.cc
index 27f13a56c3cc8766a30a01dcaae3f3bfc677f8c7..131f733d9bc247d90bab5f2f4eae15876f643cff 100644
--- a/jingle/notifier/base/chrome_async_socket.cc
+++ b/jingle/notifier/base/chrome_async_socket.cc
@@ -9,6 +9,7 @@
#include <cstdlib>
#include "base/basictypes.h"
+#include "base/bind.h"
#include "base/compiler_specific.h"
#include "base/logging.h"
#include "base/message_loop.h"
@@ -43,8 +44,7 @@ ChromeAsyncSocket::ChromeAsyncSocket(
state_(STATE_CLOSED),
error_(ERROR_NONE),
net_error_(net::OK),
- scoped_runnable_method_factory_(
- ALLOW_THIS_IN_INITIALIZER_LIST(this)),
+ ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)),
read_state_(IDLE),
read_buf_(new net::IOBufferWithSize(read_buf_size)),
read_start_(0U),
@@ -112,8 +112,7 @@ bool ChromeAsyncSocket::Connect(const talk_base::SocketAddress& address) {
state_ = STATE_CONNECTING;
- DCHECK(scoped_runnable_method_factory_.empty());
- scoped_runnable_method_factory_.RevokeAll();
+ DCHECK_EQ(false, weak_factory_.HasWeakPtrs());
net::HostPortPair dest_host_port_pair(address.IPAsString(), address.port());
@@ -128,10 +127,9 @@ bool ChromeAsyncSocket::Connect(const talk_base::SocketAddress& address) {
// the connect always happens asynchronously.
MessageLoop* message_loop = MessageLoop::current();
CHECK(message_loop);
- message_loop->PostTask(
- FROM_HERE,
- scoped_runnable_method_factory_.NewRunnableMethod(
- &ChromeAsyncSocket::ProcessConnectDone, status));
+ message_loop->PostTask(FROM_HERE,
+ base::Bind(&ChromeAsyncSocket::ProcessConnectDone,
+ weak_factory_.GetWeakPtr(), status));
}
return true;
}
@@ -167,8 +165,7 @@ void ChromeAsyncSocket::PostDoRead() {
CHECK(message_loop);
message_loop->PostTask(
FROM_HERE,
- scoped_runnable_method_factory_.NewRunnableMethod(
- &ChromeAsyncSocket::DoRead));
+ base::Bind(&ChromeAsyncSocket::DoRead, weak_factory_.GetWeakPtr()));
read_state_ = POSTED;
}
@@ -299,8 +296,7 @@ void ChromeAsyncSocket::PostDoWrite() {
CHECK(message_loop);
message_loop->PostTask(
FROM_HERE,
- scoped_runnable_method_factory_.NewRunnableMethod(
- &ChromeAsyncSocket::DoWrite));
+ base::Bind(&ChromeAsyncSocket::DoWrite, weak_factory_.GetWeakPtr()));
write_state_ = POSTED;
}
@@ -367,7 +363,7 @@ bool ChromeAsyncSocket::Close() {
// (not STATE_CLOSED) -> STATE_CLOSED
void ChromeAsyncSocket::DoClose() {
- scoped_runnable_method_factory_.RevokeAll();
+ weak_factory_.InvalidateWeakPtrs();
if (transport_socket_.get()) {
transport_socket_->Disconnect();
}
@@ -404,7 +400,7 @@ bool ChromeAsyncSocket::StartTls(const std::string& domain_name) {
DCHECK_EQ(write_end_, 0U);
// Clear out any posted DoRead() tasks.
- scoped_runnable_method_factory_.RevokeAll();
+ weak_factory_.InvalidateWeakPtrs();
DCHECK(transport_socket_.get());
net::ClientSocketHandle* socket_handle = new net::ClientSocketHandle();
@@ -416,10 +412,9 @@ bool ChromeAsyncSocket::StartTls(const std::string& domain_name) {
if (status != net::ERR_IO_PENDING) {
MessageLoop* message_loop = MessageLoop::current();
CHECK(message_loop);
- message_loop->PostTask(
- FROM_HERE,
- scoped_runnable_method_factory_.NewRunnableMethod(
- &ChromeAsyncSocket::ProcessSSLConnectDone, status));
+ message_loop->PostTask(FROM_HERE,
+ base::Bind(&ChromeAsyncSocket::ProcessSSLConnectDone,
+ weak_factory_.GetWeakPtr(), status));
}
return true;
}
« no previous file with comments | « jingle/notifier/base/chrome_async_socket.h ('k') | jingle/notifier/base/proxy_resolving_client_socket.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698