| Index: remoting/host/chromoting_host.cc
|
| diff --git a/remoting/host/chromoting_host.cc b/remoting/host/chromoting_host.cc
|
| index 40f136e15ea51c6890497c270869cca77448d318..319ad6705b6f20c561d799634508dec0521a474e 100644
|
| --- a/remoting/host/chromoting_host.cc
|
| +++ b/remoting/host/chromoting_host.cc
|
| @@ -309,7 +309,7 @@ void ChromotingHost::OnIncomingSession(
|
|
|
| // Create the desktop integration implementation for the client to use.
|
| scoped_ptr<DesktopEnvironment> desktop_environment =
|
| - desktop_environment_factory_->Create();
|
| + desktop_environment_factory_->Create(this);
|
|
|
| // Create a client object.
|
| scoped_ptr<protocol::ConnectionToClient> connection(
|
| @@ -375,6 +375,17 @@ void ChromotingHost::DisconnectAllClients() {
|
| }
|
| }
|
|
|
| +void ChromotingHost::DisconnectClient(DesktopEnvironment* desktop_environment) {
|
| + DCHECK(network_task_runner_->BelongsToCurrentThread());
|
| +
|
| + for (ClientList::iterator i = clients_.begin(); i != clients_.end(); ++i) {
|
| + if ((*i)->desktop_environment() == desktop_environment) {
|
| + (*i)->Disconnect();
|
| + break;
|
| + }
|
| + }
|
| +}
|
| +
|
| void ChromotingHost::SetUiStrings(const UiStrings& ui_strings) {
|
| DCHECK(network_task_runner_->BelongsToCurrentThread());
|
| DCHECK_EQ(state_, kInitial);
|
|
|