| Index: remoting/host/desktop_process.cc
|
| diff --git a/remoting/host/desktop_process.cc b/remoting/host/desktop_process.cc
|
| index e59b8a58be8e2d5ee6f864ad8783e5bc268dc0a7..b0afa8e16d072444577e019908b732179b927839 100644
|
| --- a/remoting/host/desktop_process.cc
|
| +++ b/remoting/host/desktop_process.cc
|
| @@ -82,9 +82,6 @@
|
|
|
| void DesktopProcess::OnChannelError() {
|
| // Shutdown the desktop process.
|
| - IPC::AttachmentBroker* broker = IPC::AttachmentBroker::GetGlobal();
|
| - if (broker && !broker->IsPrivilegedBroker())
|
| - broker->DeregisterBrokerCommunicationChannel(daemon_channel_.get());
|
| daemon_channel_.reset();
|
| if (desktop_agent_.get()) {
|
| desktop_agent_->Stop();
|
| @@ -144,10 +141,14 @@
|
| IPC::ChannelProxy::Create(daemon_channel_name_, IPC::Channel::MODE_CLIENT,
|
| this, io_task_runner.get());
|
|
|
| - IPC::AttachmentBrokerUnprivileged::CreateBrokerIfNeeded();
|
| - IPC::AttachmentBroker* broker = IPC::AttachmentBroker::GetGlobal();
|
| - if (broker && !broker->IsPrivilegedBroker())
|
| - broker->RegisterBrokerCommunicationChannel(daemon_channel_.get());
|
| + // Attachment broker may be already created in tests.
|
| + if (!IPC::AttachmentBroker::GetGlobal())
|
| + attachment_broker_ = IPC::AttachmentBrokerUnprivileged::CreateBroker();
|
| +
|
| + if (attachment_broker_) {
|
| + attachment_broker_->DesignateBrokerCommunicationChannel(
|
| + daemon_channel_.get());
|
| + }
|
|
|
| // Pass |desktop_pipe| to the daemon.
|
| daemon_channel_->Send(
|
|
|