| Index: services/shell/public/cpp/lib/connector_impl.cc
|
| diff --git a/services/shell/public/cpp/lib/connector_impl.cc b/services/shell/public/cpp/lib/connector_impl.cc
|
| index 1bd9e68924ceae8ffc2601469b9afb26974e2ee9..3d757d9b148187b0792f25ab703233e50fe3001e 100644
|
| --- a/services/shell/public/cpp/lib/connector_impl.cc
|
| +++ b/services/shell/public/cpp/lib/connector_impl.cc
|
| @@ -60,8 +60,25 @@ std::unique_ptr<Connection> ConnectorImpl::Connect(ConnectParams* params) {
|
| std::unique_ptr<internal::ConnectionImpl> registry(
|
| new internal::ConnectionImpl(
|
| params->target().name(), params->target(), mojom::kInvalidInstanceID,
|
| - std::move(remote_interfaces), std::move(local_request), request,
|
| - Connection::State::PENDING));
|
| + request, Connection::State::PENDING));
|
| + if (params->exposed_interfaces()) {
|
| + params->exposed_interfaces()->Bind(std::move(local_request));
|
| + registry->set_exposed_interfaces(params->exposed_interfaces());
|
| + } else {
|
| + std::unique_ptr<InterfaceRegistry> exposed_interfaces(
|
| + new InterfaceRegistry(registry.get()));
|
| + exposed_interfaces->Bind(std::move(local_request));
|
| + registry->SetExposedInterfaces(std::move(exposed_interfaces));
|
| + }
|
| + if (params->remote_interfaces()) {
|
| + params->remote_interfaces()->Bind(std::move(remote_interfaces));
|
| + registry->set_remote_interfaces(params->remote_interfaces());
|
| + } else {
|
| + std::unique_ptr<InterfaceProvider> remote_interface_provider(
|
| + new InterfaceProvider);
|
| + remote_interface_provider->Bind(std::move(remote_interfaces));
|
| + registry->SetRemoteInterfaces(std::move(remote_interface_provider));
|
| + }
|
|
|
| mojom::ShellClientPtr shell_client;
|
| mojom::PIDReceiverRequest pid_receiver_request;
|
|
|