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( |