Index: chrome/service/service_ipc_server.cc |
diff --git a/chrome/service/service_ipc_server.cc b/chrome/service/service_ipc_server.cc |
index 45582425cc19badcbf0ac12f63fb4a79b42be148..419c46c00d17d908a5bab7fec99825f7b77eeb50 100644 |
--- a/chrome/service/service_ipc_server.cc |
+++ b/chrome/service/service_ipc_server.cc |
@@ -8,8 +8,13 @@ |
#include "chrome/common/service_messages.h" |
#include "chrome/service/cloud_print/cloud_print_proxy.h" |
#include "chrome/service/service_process.h" |
+#include "ipc/attachment_broker.h" |
#include "ipc/ipc_logging.h" |
+#if defined(OS_WIN) |
+#include "ipc/attachment_broker_win.h" |
+#endif |
+ |
ServiceIPCServer::ServiceIPCServer(const IPC::ChannelHandle& channel_handle) |
: channel_handle_(channel_handle), client_connected_(false) { |
} |
@@ -20,6 +25,9 @@ bool ServiceIPCServer::Init() { |
#endif |
sync_message_filter_ = |
new IPC::SyncMessageFilter(g_service_process->shutdown_event()); |
+#if defined(OS_WIN) |
+ attachment_broker_.reset(new IPC::AttachmentBrokerWin()); |
+#endif |
CreateChannel(); |
return true; |
} |
@@ -29,7 +37,7 @@ void ServiceIPCServer::CreateChannel() { |
channel_ = IPC::SyncChannel::Create( |
channel_handle_, IPC::Channel::MODE_NAMED_SERVER, this, |
g_service_process->io_thread()->task_runner().get(), true, |
- g_service_process->shutdown_event()); |
+ g_service_process->shutdown_event(), attachment_broker_.get()); |
DCHECK(sync_message_filter_.get()); |
channel_->AddFilter(sync_message_filter_.get()); |
} |