1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Allows for sharing of IPC param structures between BrowserPlugin code and
6 // RenderFrame code. All these should be folded directly back into the IPCs in
7 // frame_messages.h once BrowserPlugin has been fully converted over to use
8 // the RenderFrame infrastructure.
10 // TODO(ajwong): Remove once BrowserPlugin has been converted to use
11 // RenderFrames. http://crbug.com/330264
13 #ifndef CONTENT_COMMON_FRAME_PARAM_MACROS_H_
14 #define CONTENT_COMMON_FRAME_PARAM_MACROS_H_
16 #include "cc/output/compositor_frame.h"
17 #include "cc/output/compositor_frame_ack.h"
18 #include "content/public/common/common_param_traits.h"
19 #include "ipc/ipc_message_macros.h"
20 #include "ui/gfx/ipc/gfx_param_traits.h"
22 #undef IPC_MESSAGE_EXPORT
23 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT
25 IPC_STRUCT_BEGIN(FrameMsg_BuffersSwapped_Params
)
26 IPC_STRUCT_MEMBER(int, gpu_host_id
)
27 IPC_STRUCT_MEMBER(int, gpu_route_id
)
28 IPC_STRUCT_MEMBER(gpu::Mailbox
, mailbox
)
29 IPC_STRUCT_MEMBER(gfx::Size
, size
)
32 IPC_STRUCT_BEGIN(FrameMsg_CompositorFrameSwapped_Params
)
33 // Specifies which RenderWidget produced the CompositorFrame.
34 IPC_STRUCT_MEMBER(int, producing_host_id
)
35 IPC_STRUCT_MEMBER(int, producing_route_id
)
37 IPC_STRUCT_MEMBER(cc::CompositorFrame
, frame
)
38 IPC_STRUCT_MEMBER(uint32
, output_surface_id
)
39 IPC_STRUCT_MEMBER(base::SharedMemoryHandle
, shared_memory_handle
)
42 IPC_STRUCT_BEGIN(FrameHostMsg_BuffersSwappedACK_Params
)
43 IPC_STRUCT_MEMBER(int, gpu_host_id
)
44 IPC_STRUCT_MEMBER(int, gpu_route_id
)
45 IPC_STRUCT_MEMBER(gpu::Mailbox
, mailbox
)
46 IPC_STRUCT_MEMBER(uint32
, sync_point
)
49 IPC_STRUCT_BEGIN(FrameHostMsg_CompositorFrameSwappedACK_Params
)
50 // Specifies which RenderWidget produced the CompositorFrame.
51 IPC_STRUCT_MEMBER(int, producing_host_id
)
52 IPC_STRUCT_MEMBER(int, producing_route_id
)
54 IPC_STRUCT_MEMBER(uint32
, output_surface_id
)
55 IPC_STRUCT_MEMBER(cc::CompositorFrameAck
, ack
)
58 IPC_STRUCT_BEGIN(FrameHostMsg_ReclaimCompositorResources_Params
)
59 IPC_STRUCT_MEMBER(int, route_id
)
60 IPC_STRUCT_MEMBER(uint32
, output_surface_id
)
61 IPC_STRUCT_MEMBER(int, renderer_host_id
)
62 IPC_STRUCT_MEMBER(cc::CompositorFrameAck
, ack
)
65 #endif // CONTENT_COMMON_FRAME_PARAM_MACROS_H_