| Index: ipc/ipc_sync_message_filter.cc
|
| diff --git a/ipc/ipc_sync_message_filter.cc b/ipc/ipc_sync_message_filter.cc
|
| index ffccff3d50889271ac0b4c0926b10f62eb9e4ea8..b9737fd29379b6dcfc640e4a764fef1684b16efd 100644
|
| --- a/ipc/ipc_sync_message_filter.cc
|
| +++ b/ipc/ipc_sync_message_filter.cc
|
| @@ -276,8 +276,13 @@ void SyncMessageFilter::GetGenericRemoteAssociatedInterface(
|
| mojo::ScopedInterfaceEndpointHandle handle) {
|
| base::AutoLock auto_lock(lock_);
|
| DCHECK(io_task_runner_ && io_task_runner_->BelongsToCurrentThread());
|
| - if (!channel_)
|
| + if (!channel_) {
|
| + // 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));
|
| return;
|
| + }
|
|
|
| Channel::AssociatedInterfaceSupport* support =
|
| channel_->GetAssociatedInterfaceSupport();
|
|
|