| Index: ipc/ipc_channel_mojo.cc
|
| diff --git a/ipc/ipc_channel_mojo.cc b/ipc/ipc_channel_mojo.cc
|
| index d0129e3fe0833596ac3b576886f6d3e4ca54fd8f..ab376f4bdc46a697d939694e7fcfe81993bcbfa5 100644
|
| --- a/ipc/ipc_channel_mojo.cc
|
| +++ b/ipc/ipc_channel_mojo.cc
|
| @@ -479,8 +479,14 @@ void ChannelMojo::AddGenericAssociatedInterface(
|
| void ChannelMojo::GetGenericRemoteAssociatedInterface(
|
| const std::string& name,
|
| mojo::ScopedInterfaceEndpointHandle handle) {
|
| - if (message_reader_)
|
| + if (message_reader_) {
|
| message_reader_->GetRemoteInterface(name, std::move(handle));
|
| + } else {
|
| + // Attach the associated interface to a disconnected pipe, so that the
|
| + // associated interface pointer can be used to make calls (which are
|
| + // dropped).
|
| + mojo::GetIsolatedInterface(std::move(handle));
|
| + }
|
| }
|
|
|
| } // namespace IPC
|
|
|