| Index: remoting/host/remoting_me2me_host.cc
|
| diff --git a/remoting/host/remoting_me2me_host.cc b/remoting/host/remoting_me2me_host.cc
|
| index a80ef55b04ccd02ee409911c4d40f500a6f1d17d..9004846aac9a4949d73879419ac0ae4160746a35 100644
|
| --- a/remoting/host/remoting_me2me_host.cc
|
| +++ b/remoting/host/remoting_me2me_host.cc
|
| @@ -461,9 +461,6 @@ class HostProcess : public ConfigWatcher::Delegate,
|
| // Accessed on the UI thread.
|
| scoped_ptr<IPC::ChannelProxy> daemon_channel_;
|
|
|
| - // AttachmentBroker for |daemon_channel_|.
|
| - scoped_ptr<IPC::AttachmentBrokerUnprivileged> attachment_broker_;
|
| -
|
| // Owned as |desktop_environment_factory_|.
|
| DesktopSessionConnector* desktop_session_connector_ = nullptr;
|
| #endif // defined(REMOTING_MULTI_PROCESS)
|
| @@ -545,11 +542,10 @@ bool HostProcess::InitWithCommandLine(const base::CommandLine* cmd_line) {
|
| this,
|
| context_->network_task_runner());
|
|
|
| - attachment_broker_ = IPC::AttachmentBrokerUnprivileged::CreateBroker();
|
| - if (attachment_broker_) {
|
| - attachment_broker_->DesignateBrokerCommunicationChannel(
|
| - daemon_channel_.get());
|
| - }
|
| + IPC::AttachmentBrokerUnprivileged::CreateBrokerIfNeeded();
|
| + IPC::AttachmentBroker* broker = IPC::AttachmentBroker::GetGlobal();
|
| + if (broker && !broker->IsPrivilegedBroker())
|
| + broker->RegisterBrokerCommunicationChannel(daemon_channel_.get());
|
|
|
| #else // !defined(REMOTING_MULTI_PROCESS)
|
| if (cmd_line->HasSwitch(kHostConfigSwitchName)) {
|
| @@ -931,7 +927,9 @@ void HostProcess::ShutdownOnUiThread() {
|
| policy_watcher_.reset();
|
|
|
| #if defined(REMOTING_MULTI_PROCESS)
|
| - attachment_broker_.reset();
|
| + IPC::AttachmentBroker* broker = IPC::AttachmentBroker::GetGlobal();
|
| + if (broker && !broker->IsPrivilegedBroker())
|
| + broker->DeregisterBrokerCommunicationChannel(daemon_channel_.get());
|
| daemon_channel_.reset();
|
| #endif // defined(REMOTING_MULTI_PROCESS)
|
|
|
|
|