Index: remoting/protocol/message_reader.cc |
diff --git a/remoting/protocol/message_reader.cc b/remoting/protocol/message_reader.cc |
index f2902e023e517f1d49818d5adb2ee0fbe88be2b3..82a3c80158f7c58cf94f7d4c6d24498fbe223fc0 100644 |
--- a/remoting/protocol/message_reader.cc |
+++ b/remoting/protocol/message_reader.cc |
@@ -32,8 +32,8 @@ MessageReader::~MessageReader() { |
} |
void MessageReader::Init(net::Socket* socket, |
- MessageReceivedCallback* callback) { |
- message_received_callback_.reset(callback); |
+ const MessageReceivedCallback& callback) { |
+ message_received_callback_ = callback; |
DCHECK(socket); |
socket_ = socket; |
DoRead(); |
@@ -96,9 +96,9 @@ void MessageReader::OnDataReceived(net::IOBuffer* data, int data_size) { |
// plugin thread if this code is compiled into a separate binary. Fix this. |
for (std::vector<CompoundBuffer*>::iterator it = new_messages.begin(); |
it != new_messages.end(); ++it) { |
- message_received_callback_->Run(*it, NewRunnableMethod( |
- this, &MessageReader::OnMessageDone, *it, |
- base::MessageLoopProxy::current())); |
+ message_received_callback_.Run(*it, base::Bind( |
+ &MessageReader::OnMessageDone, this, |
+ *it, base::MessageLoopProxy::current())); |
} |
} |