| Index: remoting/host/client_session.cc
|
| diff --git a/remoting/host/client_session.cc b/remoting/host/client_session.cc
|
| index f1722595d447a0523dd812829ad83c2668e1a8b3..58320c9f4101ff7a628d0235730d2cd4d2cf619e 100644
|
| --- a/remoting/host/client_session.cc
|
| +++ b/remoting/host/client_session.cc
|
| @@ -41,13 +41,10 @@ ClientSession::ClientSession(
|
| connection_factory_(connection_.get()),
|
| desktop_environment_(desktop_environment_factory->Create()),
|
| client_jid_(connection_->session()->jid()),
|
| - host_clipboard_stub_(desktop_environment_->event_executor()),
|
| - host_input_stub_(desktop_environment_->event_executor()),
|
| - input_tracker_(host_input_stub_),
|
| + input_tracker_(&host_input_filter_),
|
| remote_input_filter_(&input_tracker_),
|
| - mouse_clamping_filter_(desktop_environment_->video_capturer(),
|
| - &remote_input_filter_),
|
| - disable_input_filter_(&mouse_clamping_filter_),
|
| + mouse_clamping_filter_(&remote_input_filter_, connection_->video_stub()),
|
| + disable_input_filter_(mouse_clamping_filter_.input_filter()),
|
| disable_clipboard_filter_(clipboard_echo_filter_.host_filter()),
|
| auth_input_filter_(&disable_input_filter_),
|
| auth_clipboard_filter_(&disable_clipboard_filter_),
|
| @@ -66,7 +63,6 @@ ClientSession::ClientSession(
|
| connection_->set_clipboard_stub(&auth_clipboard_filter_);
|
| connection_->set_host_stub(this);
|
| connection_->set_input_stub(&auth_input_filter_);
|
| - clipboard_echo_filter_.set_host_stub(host_clipboard_stub_);
|
|
|
| // |auth_*_filter_|'s states reflect whether the session is authenticated.
|
| auth_input_filter_.set_enabled(false);
|
| @@ -127,6 +123,11 @@ void ClientSession::OnConnectionChannelsConnected(
|
| protocol::ConnectionToClient* connection) {
|
| DCHECK(CalledOnValidThread());
|
| DCHECK_EQ(connection_.get(), connection);
|
| +
|
| + // Connect the host clipboard and input stubs.
|
| + host_input_filter_.set_input_stub(desktop_environment_->event_executor());
|
| + clipboard_echo_filter_.set_host_stub(desktop_environment_->event_executor());
|
| +
|
| SetDisableInputs(false);
|
|
|
| // Let the desktop environment notify us of local clipboard changes.
|
| @@ -148,7 +149,7 @@ void ClientSession::OnConnectionChannelsConnected(
|
| desktop_environment_->video_capturer(),
|
| video_encoder.Pass(),
|
| connection_->client_stub(),
|
| - connection_->video_stub());
|
| + &mouse_clamping_filter_);
|
| ++active_recorders_;
|
|
|
| // Create an AudioScheduler if audio is enabled, to pump audio samples.
|
|
|