Chromium Code Reviews| Index: ipc/attachment_broker_messages.h |
| diff --git a/ipc/attachment_broker_messages.h b/ipc/attachment_broker_messages.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..7944c5f40dd65a1b76149405f16b8945a5d79db3 |
| --- /dev/null |
| +++ b/ipc/attachment_broker_messages.h |
| @@ -0,0 +1,57 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +// IPC messages used by the attachment broker. |
| +// Multiply-included message file, hence no include guard. |
| + |
| +#include "ipc/brokerable_attachment.h" |
| +#include "ipc/ipc_message_macros.h" |
| + |
| +#if defined(OS_WIN) |
| +#include "ipc/handle_attachment_win.h" |
| +#endif // defined(OS_WIN) |
| + |
| +// ---------------------------------------------------------------------------- |
| +// Serialization of structs. |
| +// ---------------------------------------------------------------------------- |
| + |
| +#if defined(OS_WIN) |
| +IPC_STRUCT_TRAITS_BEGIN(IPC::internal::HandleAttachmentWin::WireFormat) |
| +IPC_STRUCT_TRAITS_MEMBER(handle) |
| +IPC_STRUCT_TRAITS_MEMBER(destination_process) |
| +IPC_STRUCT_TRAITS_MEMBER(attachment_id) |
| +IPC_STRUCT_TRAITS_END() |
| +#endif // defined(OS_WIN) |
| + |
| +#define IPC_MESSAGE_START AttachmentBrokerMsgStart |
| + |
| +// ---------------------------------------------------------------------------- |
| +// Messages sent from the broker to a non-broker process. |
| +// ---------------------------------------------------------------------------- |
| + |
| +#if defined(OS_WIN) |
| +// Sent from a broker to a non-broker to indicate that a windows HANDLE has been |
| +// brokered. Contains all information necessary for the non-broker to translate |
| +// a BrokerAttachment::AttachmentId to a BrokerAttachment. |
| +// Warning: This IPC message assumes that the sending and receiving processes |
|
Tom Sepez
2015/06/19 18:04:10
nit: the warning is true for all types in IPC -- h
erikchen
2015/06/23 22:36:59
Chrome 32-bit Windows sometimes communicates with
|
| +// have the same type for HANDLE. |
| +IPC_MESSAGE_CONTROL1( |
| + AttachmentBrokerMsg_WinHandleHasBeenBrokered, |
| + IPC::internal::HandleAttachmentWin::WireFormat /* wire_format */) |
| +#endif // defined(OS_WIN) |
| + |
| +// ---------------------------------------------------------------------------- |
| +// Messages sent from a non-broker process to a broker process. |
| +// ---------------------------------------------------------------------------- |
| + |
| +#if defined(OS_WIN) |
| +// Sent from a non-broker to a broker to request the duplication of a HANDLE |
| +// into a different process (possibly the broker process, or even the original |
| +// process). |
| +// Warning: This IPC message assumes that the sending and receiving processes |
| +// have the same type for HANDLE. |
| +IPC_MESSAGE_CONTROL1( |
| + AttachmentBrokerMsg_RequestBrokerageOfWinHandle, |
|
Tom Sepez
2015/06/19 18:04:10
nit: I think you want |brokering|, the gerund form
erikchen
2015/06/23 22:36:59
I went with your suggestion of DuplicateWinHandle
|
| + IPC::internal::HandleAttachmentWin::WireFormat /* wire_format */) |
| +#endif // defined(OS_WIN) |