Index: ipc/ipc_channel_proxy.cc |
diff --git a/ipc/ipc_channel_proxy.cc b/ipc/ipc_channel_proxy.cc |
index 9bbeb851192d03eddf4ccb42175ffee72d9b2ac4..9b8ece18d4db3f034fa65e246b69b5fb4a0e040f 100644 |
--- a/ipc/ipc_channel_proxy.cc |
+++ b/ipc/ipc_channel_proxy.cc |
@@ -177,6 +177,15 @@ void ChannelProxy::Context::OnChannelError() { |
} |
// Called on the IPC::Channel thread |
+void ChannelProxy::Context::OnAssociatedInterfaceRequest( |
+ const std::string& interface_name, |
+ mojo::ScopedInterfaceEndpointHandle handle) { |
+ listener_task_runner_->PostTask( |
+ FROM_HERE, base::Bind(&Context::OnDispatchAssociatedInterfaceRequest, |
+ this, interface_name, base::Passed(&handle))); |
+} |
+ |
+// Called on the IPC::Channel thread |
void ChannelProxy::Context::OnChannelOpened() { |
DCHECK(channel_ != NULL); |
@@ -366,6 +375,14 @@ void ChannelProxy::Context::OnDispatchBadMessage(const Message& message) { |
listener_->OnBadMessageReceived(message); |
} |
+// Called on the listener's thread |
+void ChannelProxy::Context::OnDispatchAssociatedInterfaceRequest( |
+ const std::string& interface_name, |
+ mojo::ScopedInterfaceEndpointHandle handle) { |
+ if (listener_) |
+ listener_->OnAssociatedInterfaceRequest(interface_name, std::move(handle)); |
+} |
+ |
void ChannelProxy::Context::ClearChannel() { |
base::AutoLock l(channel_lifetime_lock_); |
channel_.reset(); |