Upstream version 11.40.277.0
[platform/framework/web/crosswalk.git] / src / content / common / frame_param_macros.h
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.
4
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.
9 //
10 // TODO(ajwong): Remove once BrowserPlugin has been converted to use
11 // RenderFrames. http://crbug.com/330264
12
13 #ifndef CONTENT_COMMON_FRAME_PARAM_MACROS_H_
14 #define CONTENT_COMMON_FRAME_PARAM_MACROS_H_
15
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"
21
22 #undef IPC_MESSAGE_EXPORT
23 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT
24
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)
30 IPC_STRUCT_END()
31
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)
36
37   IPC_STRUCT_MEMBER(cc::CompositorFrame, frame)
38   IPC_STRUCT_MEMBER(uint32, output_surface_id)
39   IPC_STRUCT_MEMBER(base::SharedMemoryHandle, shared_memory_handle)
40 IPC_STRUCT_END()
41
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)
47 IPC_STRUCT_END()
48
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)
53
54   IPC_STRUCT_MEMBER(uint32, output_surface_id)
55   IPC_STRUCT_MEMBER(cc::CompositorFrameAck, ack)
56 IPC_STRUCT_END()
57
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)
63 IPC_STRUCT_END()
64
65 #endif  // CONTENT_COMMON_FRAME_PARAM_MACROS_H_