Index: remoting/protocol/host_message_dispatcher.cc |
diff --git a/remoting/protocol/host_message_dispatcher.cc b/remoting/protocol/host_message_dispatcher.cc |
index 1e395da6a2d4cc5946675881158ecca5814e7db1..7af2cc1c82e7eef66311270597cbb9863d3a141f 100644 |
--- a/remoting/protocol/host_message_dispatcher.cc |
+++ b/remoting/protocol/host_message_dispatcher.cc |
@@ -44,14 +44,16 @@ void HostMessageDispatcher::Initialize( |
// Initialize the readers on the sockets provided by channels. |
event_message_reader_->Init( |
connection->session()->event_channel(), |
- NewCallback(this, &HostMessageDispatcher::OnEventMessageReceived)); |
+ base::Bind(&HostMessageDispatcher::OnEventMessageReceived, |
+ base::Unretained(this))); |
control_message_reader_->Init( |
connection->session()->control_channel(), |
- NewCallback(this, &HostMessageDispatcher::OnControlMessageReceived)); |
+ base::Bind(&HostMessageDispatcher::OnControlMessageReceived, |
+ base::Unretained(this))); |
} |
void HostMessageDispatcher::OnControlMessageReceived( |
- ControlMessage* message, Task* done_task) { |
+ ControlMessage* message, const base::Closure& done_task) { |
if (message->has_begin_session_request()) { |
const BeginSessionRequest& request = message->begin_session_request(); |
if (request.has_credentials() && request.credentials().has_type()) { |
@@ -61,13 +63,12 @@ void HostMessageDispatcher::OnControlMessageReceived( |
} |
LOG(WARNING) << "Invalid control message received."; |
- done_task->Run(); |
- delete done_task; |
+ done_task.Run(); |
} |
void HostMessageDispatcher::OnEventMessageReceived( |
- EventMessage* message, Task* done_task) { |
- base::ScopedTaskRunner done_runner(done_task); |
+ EventMessage* message, const base::Closure& done_task) { |
+ base::ScopedClosureRunner done_runner(done_task); |
connection_->UpdateSequenceNumber(message->sequence_number()); |