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_ 66