Home | History | Annotate | Download | only in common
      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_ack.h"
     17 #include "cc/output/compositor_frame.h"
     18 #include "content/public/common/common_param_traits.h"
     19 #include "ipc/ipc_message_macros.h"
     20 
     21 #undef IPC_MESSAGE_EXPORT
     22 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT
     23 
     24 IPC_STRUCT_BEGIN(FrameMsg_BuffersSwapped_Params)
     25   IPC_STRUCT_MEMBER(int, gpu_host_id)
     26   IPC_STRUCT_MEMBER(int, gpu_route_id)
     27   IPC_STRUCT_MEMBER(gpu::Mailbox, mailbox)
     28   IPC_STRUCT_MEMBER(gfx::Size, size)
     29 IPC_STRUCT_END()
     30 
     31 IPC_STRUCT_BEGIN(FrameMsg_CompositorFrameSwapped_Params)
     32   // Specifies which RenderWidget produced the CompositorFrame.
     33   IPC_STRUCT_MEMBER(int, producing_host_id)
     34   IPC_STRUCT_MEMBER(int, producing_route_id)
     35 
     36   IPC_STRUCT_MEMBER(cc::CompositorFrame, frame)
     37   IPC_STRUCT_MEMBER(uint32, output_surface_id)
     38   IPC_STRUCT_MEMBER(base::SharedMemoryHandle, shared_memory_handle)
     39 IPC_STRUCT_END()
     40 
     41 IPC_STRUCT_BEGIN(FrameHostMsg_BuffersSwappedACK_Params)
     42   IPC_STRUCT_MEMBER(int, gpu_host_id)
     43   IPC_STRUCT_MEMBER(int, gpu_route_id)
     44   IPC_STRUCT_MEMBER(gpu::Mailbox, mailbox)
     45   IPC_STRUCT_MEMBER(uint32, sync_point)
     46 IPC_STRUCT_END()
     47 
     48 IPC_STRUCT_BEGIN(FrameHostMsg_CompositorFrameSwappedACK_Params)
     49   // Specifies which RenderWidget produced the CompositorFrame.
     50   IPC_STRUCT_MEMBER(int, producing_host_id)
     51   IPC_STRUCT_MEMBER(int, producing_route_id)
     52 
     53   IPC_STRUCT_MEMBER(uint32, output_surface_id)
     54   IPC_STRUCT_MEMBER(cc::CompositorFrameAck, ack)
     55 IPC_STRUCT_END()
     56 
     57 IPC_STRUCT_BEGIN(FrameHostMsg_ReclaimCompositorResources_Params)
     58   IPC_STRUCT_MEMBER(int, route_id)
     59   IPC_STRUCT_MEMBER(uint32, output_surface_id)
     60   IPC_STRUCT_MEMBER(int, renderer_host_id)
     61   IPC_STRUCT_MEMBER(cc::CompositorFrameAck, ack)
     62 IPC_STRUCT_END()
     63 
     64 #endif  // CONTENT_COMMON_FRAME_PARAM_MACROS_H_
     65