| Index: remoting/protocol/connection_to_host.cc
|
| diff --git a/remoting/protocol/connection_to_host.cc b/remoting/protocol/connection_to_host.cc
|
| index 91384da4aebf44a8f44a80eb6ddc15cf3752325f..3b82499f812d39959c4f09ad8d877480558e5d3c 100644
|
| --- a/remoting/protocol/connection_to_host.cc
|
| +++ b/remoting/protocol/connection_to_host.cc
|
| @@ -6,7 +6,7 @@
|
|
|
| #include "base/bind.h"
|
| #include "base/callback.h"
|
| -#include "base/message_loop.h"
|
| +#include "base/message_loop_proxy.h"
|
| #include "remoting/base/constants.h"
|
| #include "remoting/jingle_glue/host_resolver.h"
|
| #include "remoting/jingle_glue/http_port_allocator.h"
|
| @@ -26,7 +26,7 @@ namespace remoting {
|
| namespace protocol {
|
|
|
| ConnectionToHost::ConnectionToHost(
|
| - MessageLoop* message_loop,
|
| + base::MessageLoopProxy* message_loop,
|
| talk_base::NetworkManager* network_manager,
|
| talk_base::PacketSocketFactory* socket_factory,
|
| HostResolverFactory* host_resolver_factory,
|
| @@ -84,7 +84,7 @@ void ConnectionToHost::Connect(scoped_refptr<XmppProxy> xmpp_proxy,
|
| }
|
|
|
| void ConnectionToHost::Disconnect(const base::Closure& shutdown_task) {
|
| - if (MessageLoop::current() != message_loop_) {
|
| + if (!message_loop_->BelongsToCurrentThread()) {
|
| message_loop_->PostTask(
|
| FROM_HERE, base::Bind(&ConnectionToHost::Disconnect,
|
| base::Unretained(this), shutdown_task));
|
| @@ -106,12 +106,12 @@ void ConnectionToHost::Disconnect(const base::Closure& shutdown_task) {
|
| }
|
|
|
| void ConnectionToHost::InitSession() {
|
| - DCHECK_EQ(message_loop_, MessageLoop::current());
|
| + DCHECK(message_loop_->BelongsToCurrentThread());
|
|
|
| // Initialize chromotocol |session_manager_|.
|
| JingleSessionManager* session_manager =
|
| JingleSessionManager::CreateSandboxed(
|
| - network_manager_.release(), socket_factory_.release(),
|
| + message_loop_, network_manager_.release(), socket_factory_.release(),
|
| host_resolver_factory_.release(),
|
| port_allocator_session_factory_.release());
|
|
|
| @@ -129,7 +129,7 @@ const SessionConfig* ConnectionToHost::config() {
|
|
|
| void ConnectionToHost::OnStateChange(
|
| SignalStrategy::StatusObserver::State state) {
|
| - DCHECK_EQ(message_loop_, MessageLoop::current());
|
| + DCHECK(message_loop_->BelongsToCurrentThread());
|
| DCHECK(event_callback_);
|
|
|
| if (state == SignalStrategy::StatusObserver::CONNECTED) {
|
| @@ -142,12 +142,12 @@ void ConnectionToHost::OnStateChange(
|
| }
|
|
|
| void ConnectionToHost::OnJidChange(const std::string& full_jid) {
|
| - DCHECK_EQ(message_loop_, MessageLoop::current());
|
| + DCHECK(message_loop_->BelongsToCurrentThread());
|
| local_jid_ = full_jid;
|
| }
|
|
|
| void ConnectionToHost::OnSessionManagerInitialized() {
|
| - DCHECK_EQ(message_loop_, MessageLoop::current());
|
| + DCHECK(message_loop_->BelongsToCurrentThread());
|
|
|
| // After SessionManager is initialized we can try to connect to the host.
|
| CandidateSessionConfig* candidate_config =
|
| @@ -165,14 +165,14 @@ void ConnectionToHost::OnSessionManagerInitialized() {
|
| void ConnectionToHost::OnIncomingSession(
|
| Session* session,
|
| SessionManager::IncomingSessionResponse* response) {
|
| - DCHECK_EQ(message_loop_, MessageLoop::current());
|
| + DCHECK(message_loop_->BelongsToCurrentThread());
|
| // Client always rejects incoming sessions.
|
| *response = SessionManager::DECLINE;
|
| }
|
|
|
| void ConnectionToHost::OnSessionStateChange(
|
| Session::State state) {
|
| - DCHECK_EQ(message_loop_, MessageLoop::current());
|
| + DCHECK(message_loop_->BelongsToCurrentThread());
|
| DCHECK(event_callback_);
|
|
|
| switch (state) {
|
| @@ -189,7 +189,8 @@ void ConnectionToHost::OnSessionStateChange(
|
|
|
| case Session::CONNECTED:
|
| // Initialize reader and writer.
|
| - video_reader_.reset(VideoReader::Create(session_->config()));
|
| + video_reader_.reset(
|
| + VideoReader::Create(message_loop_, session_->config()));
|
| video_reader_->Init(
|
| session_.get(), video_stub_,
|
| base::Bind(&ConnectionToHost::OnVideoChannelInitialized,
|
| @@ -199,7 +200,7 @@ void ConnectionToHost::OnSessionStateChange(
|
| case Session::CONNECTED_CHANNELS:
|
| state_ = STATE_CONNECTED;
|
| host_control_sender_.reset(
|
| - new HostControlSender(session_->control_channel()));
|
| + new HostControlSender(message_loop_, session_->control_channel()));
|
| dispatcher_.reset(new ClientMessageDispatcher());
|
| dispatcher_->Initialize(session_.get(), client_stub_);
|
|
|
| @@ -252,7 +253,8 @@ void ConnectionToHost::OnClientAuthenticated() {
|
| state_ = STATE_AUTHENTICATED;
|
|
|
| // Create and enable the input stub now that we're authenticated.
|
| - input_sender_.reset(new InputSender(session_->event_channel()));
|
| + input_sender_.reset(
|
| + new InputSender(message_loop_, session_->event_channel()));
|
| }
|
|
|
| ConnectionToHost::State ConnectionToHost::state() const {
|
|
|