| Index: content/child/child_thread_impl.cc
|
| diff --git a/content/child/child_thread_impl.cc b/content/child/child_thread_impl.cc
|
| index eb8ee2546d642734838ba4e1c249e9eb6317416e..5378463a0cdade74433293961bfc4ece5b7aea4b 100644
|
| --- a/content/child/child_thread_impl.cc
|
| +++ b/content/child/child_thread_impl.cc
|
| @@ -367,7 +367,14 @@
|
| IPC::Logging::GetInstance();
|
| #endif
|
|
|
| - IPC::AttachmentBrokerUnprivileged::CreateBrokerIfNeeded();
|
| +#if USE_ATTACHMENT_BROKER
|
| + // The only reason a global would already exist is if the thread is being run
|
| + // in the browser process because of a command line switch.
|
| + if (!IPC::AttachmentBroker::GetGlobal()) {
|
| + attachment_broker_.reset(
|
| + IPC::AttachmentBrokerUnprivileged::CreateBroker().release());
|
| + }
|
| +#endif
|
|
|
| channel_ =
|
| IPC::SyncChannel::Create(this, ChildProcess::current()->io_task_runner(),
|
| @@ -453,9 +460,8 @@
|
| }
|
|
|
| ConnectChannel(options.use_mojo_channel);
|
| - IPC::AttachmentBroker* global = IPC::AttachmentBroker::GetGlobal();
|
| - if (global && !global->IsPrivilegedBroker())
|
| - global->DesignateBrokerCommunicationChannel(channel_.get());
|
| + if (attachment_broker_)
|
| + attachment_broker_->DesignateBrokerCommunicationChannel(channel_.get());
|
|
|
| int connection_timeout = kConnectionTimeoutS;
|
| std::string connection_override =
|
|
|