15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// IPC Messages sent between compositor instances.
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
77d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#include "cc/output/begin_frame_args.h"
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/output/compositor_frame.h"
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/output/compositor_frame_ack.h"
10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "cc/output/filter_operation.h"
11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "cc/output/viewport_selection_bound.h"
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/checkerboard_draw_quad.h"
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/debug_border_draw_quad.h"
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/draw_quad.h"
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/io_surface_draw_quad.h"
16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "cc/quads/picture_draw_quad.h"
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/render_pass.h"
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/render_pass_draw_quad.h"
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/shared_quad_state.h"
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/solid_color_draw_quad.h"
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/stream_video_draw_quad.h"
225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "cc/quads/surface_draw_quad.h"
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/texture_draw_quad.h"
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/tile_draw_quad.h"
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/yuv_video_draw_quad.h"
26d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "cc/resources/resource_format.h"
273551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "cc/resources/returned_resource.h"
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/resources/transferable_resource.h"
29f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "cc/surfaces/surface_id.h"
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/common/content_export.h"
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "gpu/ipc/gpu_command_buffer_traits.h"
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ipc/ipc_message_macros.h"
33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "ui/gfx/ipc/gfx_param_traits.h"
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CONTENT_COMMON_CC_MESSAGES_H_
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CONTENT_COMMON_CC_MESSAGES_H_
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace gfx {
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class Transform;
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
42eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace cc {
43eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochclass FilterOperations;
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace IPC {
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)template <>
49eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochstruct ParamTraits<cc::FilterOperation> {
50eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  typedef cc::FilterOperation param_type;
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Write(Message* m, const param_type& p);
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* r);
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Log(const param_type& p, std::string* l);
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)template <>
57eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochstruct ParamTraits<cc::FilterOperations> {
58eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  typedef cc::FilterOperations param_type;
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Write(Message* m, const param_type& p);
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* r);
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Log(const param_type& p, std::string* l);
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)template <>
65c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdochstruct ParamTraits<skia::RefPtr<SkImageFilter> > {
66c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch  typedef skia::RefPtr<SkImageFilter> param_type;
67c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch  static void Write(Message* m, const param_type& p);
68c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch  static bool Read(const Message* m, PickleIterator* iter, param_type* r);
69c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch  static void Log(const param_type& p, std::string* l);
70c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch};
71c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch
72c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdochtemplate <>
732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct ParamTraits<gfx::Transform> {
742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  typedef gfx::Transform param_type;
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Write(Message* m, const param_type& p);
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* r);
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Log(const param_type& p, std::string* l);
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)template <>
812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct CONTENT_EXPORT ParamTraits<cc::RenderPass> {
822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  typedef cc::RenderPass param_type;
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Write(Message* m, const param_type& p);
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* r);
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Log(const param_type& p, std::string* l);
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template<>
892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct CONTENT_EXPORT ParamTraits<cc::CompositorFrame> {
902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  typedef cc::CompositorFrame param_type;
912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Write(Message* m, const param_type& p);
922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* p);
932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Log(const param_type& p, std::string* l);
942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template<>
972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct CONTENT_EXPORT ParamTraits<cc::CompositorFrameAck> {
982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  typedef cc::CompositorFrameAck param_type;
992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Write(Message* m, const param_type& p);
1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* p);
1012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Log(const param_type& p, std::string* l);
1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
1032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template<>
1052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct CONTENT_EXPORT ParamTraits<cc::DelegatedFrameData> {
1062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  typedef cc::DelegatedFrameData param_type;
1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Write(Message* m, const param_type& p);
1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* p);
1092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Log(const param_type& p, std::string* l);
1102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
11223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)template <>
11323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)struct CONTENT_EXPORT ParamTraits<cc::SoftwareFrameData> {
11423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  typedef cc::SoftwareFrameData param_type;
11523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  static void Write(Message* m, const param_type& p);
11623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* p);
11723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  static void Log(const param_type& p, std::string* l);
11823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)};
11923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace IPC
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // CONTENT_COMMON_CC_MESSAGES_H_
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Multiply-included message file, hence no include guard.
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_MESSAGE_START CCMsgStart
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#undef IPC_MESSAGE_EXPORT
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_MESSAGE_EXPORT CONTENT_EXPORT
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(cc::DrawQuad::Material, cc::DrawQuad::MATERIAL_LAST)
1315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(cc::IOSurfaceDrawQuad::Orientation,
1325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                          cc::IOSurfaceDrawQuad::ORIENTATION_LAST)
1335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(cc::FilterOperation::FilterType,
1345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                          cc::FilterOperation::FILTER_TYPE_LAST )
135d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(cc::ResourceFormat, cc::RESOURCE_FORMAT_MAX)
136116680a4aac90f2aa7413d9095a592090648e557Ben MurdochIPC_ENUM_TRAITS_MAX_VALUE(cc::SelectionBoundType, cc::SELECTION_BOUND_TYPE_LAST)
137f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(SkXfermode::Mode, SkXfermode::kLastMode)
138010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(cc::YUVVideoDrawQuad::ColorSpace,
139010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)                          cc::YUVVideoDrawQuad::COLOR_SPACE_LAST)
1402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
14103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::RenderPassId)
1422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(layer_id)
1432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(index)
1442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
146f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::SurfaceId)
147f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)IPC_STRUCT_TRAITS_MEMBER(id)
148f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)IPC_STRUCT_TRAITS_END()
149f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
1502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::DrawQuad)
1512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(material)
1522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(rect)
1532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(opaque_rect)
1542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(visible_rect)
1552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(needs_blending)
1562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::CheckerboardDrawQuad)
1592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
1602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(color)
1612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::DebugBorderDrawQuad)
1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(color)
1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(width)
1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::IOSurfaceDrawQuad)
1702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
1712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(io_surface_size)
172c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(io_surface_resource_id)
1732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(orientation)
1742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::RenderPassDrawQuad)
1772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
178c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(render_pass_id)
1792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(mask_resource_id)
1802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(mask_uv_rect)
1812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(filters)
1826e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(filters_scale)
1832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(background_filters)
1842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::SolidColorDrawQuad)
1872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
1882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(color)
189c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(force_anti_aliasing_off)
1902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::StreamVideoDrawQuad)
1932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
194c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(resource_id)
1952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(matrix)
1962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1985d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::SurfaceDrawQuad)
1995d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
2005d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(surface_id)
2015d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_STRUCT_TRAITS_END()
2025d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
2032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::TextureDrawQuad)
2042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
2052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(resource_id)
2062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(premultiplied_alpha)
2072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(uv_top_left)
2082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(uv_bottom_right)
2097dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  IPC_STRUCT_TRAITS_MEMBER(background_color)
2102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(vertex_opacity[0])
2112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(vertex_opacity[1])
2122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(vertex_opacity[2])
2132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(vertex_opacity[3])
2142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(flipped)
2152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::TileDrawQuad)
2182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
2192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(resource_id)
2202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(tex_coord_rect)
2212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(texture_size)
2222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(swizzle_contents)
2232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::YUVVideoDrawQuad)
2262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
227effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  IPC_STRUCT_TRAITS_MEMBER(tex_coord_rect)
228c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(y_plane_resource_id)
229c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(u_plane_resource_id)
230c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(v_plane_resource_id)
231868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(a_plane_resource_id)
232010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(color_space)
2332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::SharedQuadState)
2362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(content_to_target_transform)
2372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(content_bounds)
2382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(visible_content_rect)
2392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(clip_rect)
2402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(is_clipped)
2412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(opacity)
242f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(blend_mode)
2436d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(sorting_context_id)
2442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::TransferableResource)
2472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(id)
2482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(format)
2492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(filter)
2502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(size)
2515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(mailbox_holder)
25246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(is_repeated)
2531e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(is_software)
2545f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(allow_overlay)
2552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2573551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::ReturnedResource)
2583551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(id)
2593551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(sync_point)
2603551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(count)
26168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(lost)
2623551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)IPC_STRUCT_TRAITS_END()
2633551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)
264116680a4aac90f2aa7413d9095a592090648e557Ben MurdochIPC_STRUCT_TRAITS_BEGIN(cc::ViewportSelectionBound)
265116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  IPC_STRUCT_TRAITS_MEMBER(type)
26603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(edge_top)
26703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(edge_bottom)
268116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  IPC_STRUCT_TRAITS_MEMBER(visible)
269116680a4aac90f2aa7413d9095a592090648e557Ben MurdochIPC_STRUCT_TRAITS_END()
270116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
2717d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::BeginFrameArgs)
2727d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(frame_time)
2737d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(deadline)
2747d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(interval)
2757d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)IPC_STRUCT_TRAITS_END()
2767d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
2772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::CompositorFrameMetadata)
2782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(device_scale_factor)
2792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(root_scroll_offset)
2802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(page_scale_factor)
281116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  IPC_STRUCT_TRAITS_MEMBER(scrollable_viewport_size)
2822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(root_layer_size)
2832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(min_page_scale_factor)
2842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(max_page_scale_factor)
2852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(location_bar_offset)
2862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(location_bar_content_translation)
287116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  IPC_STRUCT_TRAITS_MEMBER(selection_start)
288116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  IPC_STRUCT_TRAITS_MEMBER(selection_end)
289868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(latency_info)
2902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::GLFrameData)
2932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(mailbox)
2942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(sync_point)
2952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(size)
2967d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(sub_buffer_rect)
2972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
298