Index: ipc/ipc_channel_reader.cc |
diff --git a/ipc/ipc_channel_reader.cc b/ipc/ipc_channel_reader.cc |
index 7e8902e54d2a894a9cfe65df489e3f999c9386c5..30f03a1f2decbb2fd74b690baf5cc22eeb392ef5 100644 |
--- a/ipc/ipc_channel_reader.cc |
+++ b/ipc/ipc_channel_reader.cc |
@@ -163,9 +163,18 @@ void ChannelReader::DispatchMessage(Message* m) { |
IPC_MESSAGE_ID_LINE(m->type())); |
#endif |
m->TraceMessageEnd(); |
- if (IsInternalMessage(*m)) |
+ |
+ bool handled = false; |
+ if (IsInternalMessage(*m)) { |
HandleInternalMessage(*m); |
- else |
+ handled = true; |
+ } |
+#if USE_ATTACHMENT_BROKER |
+ if (!handled && IsAttachmentBrokerEndpoint() && GetAttachmentBroker()) { |
+ handled = GetAttachmentBroker()->OnMessageReceived(*m); |
+ } |
+#endif // USE_ATTACHMENT_BROKER |
+ if (!handled) |
listener_->OnMessageReceived(*m); |
if (m->dispatch_error()) |
listener_->OnBadMessageReceived(*m); |