| Index: content/child/child_thread_impl.cc
|
| diff --git a/content/child/child_thread_impl.cc b/content/child/child_thread_impl.cc
|
| index f91f11f74e38def29aed7e45a9dae7bb2297e870..856970a9c22e1a182ce106857f08528f58c49860 100644
|
| --- a/content/child/child_thread_impl.cc
|
| +++ b/content/child/child_thread_impl.cc
|
| @@ -261,28 +261,26 @@ void InitializeMojoIPCChannel() {
|
| class ChannelBootstrapFilter : public ConnectionFilter {
|
| public:
|
| explicit ChannelBootstrapFilter(IPC::mojom::ChannelBootstrapPtrInfo bootstrap)
|
| - : bootstrap_(std::move(bootstrap)), weak_factory_(this) {}
|
| + : bootstrap_(std::move(bootstrap)) {}
|
|
|
| private:
|
| // ConnectionFilter:
|
| - bool OnConnect(const service_manager::Identity& remote_identity,
|
| - service_manager::InterfaceRegistry* registry,
|
| - service_manager::Connector* connector) override {
|
| - if (remote_identity.name() != mojom::kBrowserServiceName)
|
| - return false;
|
| -
|
| - registry->AddInterface(base::Bind(&ChannelBootstrapFilter::CreateBootstrap,
|
| - weak_factory_.GetWeakPtr()));
|
| - return true;
|
| - }
|
| -
|
| - void CreateBootstrap(IPC::mojom::ChannelBootstrapRequest request) {
|
| - DCHECK(bootstrap_.is_valid());
|
| - mojo::FuseInterface(std::move(request), std::move(bootstrap_));
|
| + void OnBindInterface(const service_manager::ServiceInfo& source_info,
|
| + const std::string& interface_name,
|
| + mojo::ScopedMessagePipeHandle* interface_pipe,
|
| + service_manager::Connector* connector) override {
|
| + if (source_info.identity.name() != mojom::kBrowserServiceName)
|
| + return;
|
| +
|
| + if (interface_name == IPC::mojom::ChannelBootstrap::Name_) {
|
| + DCHECK(bootstrap_.is_valid());
|
| + mojo::FuseInterface(mojo::MakeRequest<IPC::mojom::ChannelBootstrap>(
|
| + std::move(*interface_pipe)),
|
| + std::move(bootstrap_));
|
| + }
|
| }
|
|
|
| IPC::mojom::ChannelBootstrapPtrInfo bootstrap_;
|
| - base::WeakPtrFactory<ChannelBootstrapFilter> weak_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ChannelBootstrapFilter);
|
| };
|
| @@ -451,15 +449,6 @@ void ChildThreadImpl::Init(const Options& options) {
|
| mojo::MakeRequest<service_manager::mojom::Service>(std::move(handle)),
|
| GetIOTaskRunner());
|
|
|
| - // When connect_to_browser is true, we obtain interfaces from the browser
|
| - // process by connecting to it, rather than from the incoming interface
|
| - // provider. Exposed interfaces are subject to manifest capability spec.
|
| - if (options.connect_to_browser) {
|
| - browser_connection_ =
|
| - service_manager_connection_->GetConnector()->Connect(
|
| - mojom::kBrowserServiceName);
|
| - }
|
| -
|
| // TODO(rockot): Remove this once all child-to-browser interface connections
|
| // are made via a Connector rather than directly through an
|
| // InterfaceProvider, and all exposed interfaces are exposed via a
|
|
|