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"
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/checkerboard_draw_quad.h"
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/debug_border_draw_quad.h"
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/draw_quad.h"
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/io_surface_draw_quad.h"
15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "cc/quads/picture_draw_quad.h"
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/render_pass.h"
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/render_pass_draw_quad.h"
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/shared_quad_state.h"
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/solid_color_draw_quad.h"
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/stream_video_draw_quad.h"
215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "cc/quads/surface_draw_quad.h"
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/texture_draw_quad.h"
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/tile_draw_quad.h"
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/yuv_video_draw_quad.h"
25d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "cc/resources/resource_format.h"
263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "cc/resources/returned_resource.h"
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/resources/transferable_resource.h"
28f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "cc/surfaces/surface_id.h"
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/common/content_export.h"
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "gpu/ipc/gpu_command_buffer_traits.h"
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ipc/ipc_message_macros.h"
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CONTENT_COMMON_CC_MESSAGES_H_
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CONTENT_COMMON_CC_MESSAGES_H_
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace gfx {
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class Transform;
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
40eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace cc {
41eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochclass FilterOperations;
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace IPC {
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)template <>
47eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochstruct ParamTraits<cc::FilterOperation> {
48eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  typedef cc::FilterOperation param_type;
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Write(Message* m, const param_type& p);
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* r);
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Log(const param_type& p, std::string* l);
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)template <>
55eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochstruct ParamTraits<cc::FilterOperations> {
56eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  typedef cc::FilterOperations param_type;
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Write(Message* m, const param_type& p);
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* r);
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Log(const param_type& p, std::string* l);
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)template <>
63c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdochstruct ParamTraits<skia::RefPtr<SkImageFilter> > {
64c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch  typedef skia::RefPtr<SkImageFilter> param_type;
65c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch  static void Write(Message* m, const param_type& p);
66c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch  static bool Read(const Message* m, PickleIterator* iter, param_type* r);
67c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch  static void Log(const param_type& p, std::string* l);
68c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch};
69c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch
70c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdochtemplate <>
712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct ParamTraits<gfx::Transform> {
722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  typedef gfx::Transform param_type;
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Write(Message* m, const param_type& p);
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* r);
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Log(const param_type& p, std::string* l);
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)template <>
792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct CONTENT_EXPORT ParamTraits<cc::RenderPass> {
802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  typedef cc::RenderPass param_type;
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Write(Message* m, const param_type& p);
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* r);
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Log(const param_type& p, std::string* l);
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template<>
872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct CONTENT_EXPORT ParamTraits<cc::CompositorFrame> {
882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  typedef cc::CompositorFrame param_type;
892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Write(Message* m, const param_type& p);
902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* p);
912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Log(const param_type& p, std::string* l);
922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template<>
952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct CONTENT_EXPORT ParamTraits<cc::CompositorFrameAck> {
962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  typedef cc::CompositorFrameAck param_type;
972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Write(Message* m, const param_type& p);
982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* p);
992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Log(const param_type& p, std::string* l);
1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
1012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template<>
1032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct CONTENT_EXPORT ParamTraits<cc::DelegatedFrameData> {
1042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  typedef cc::DelegatedFrameData param_type;
1052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Write(Message* m, const param_type& p);
1062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* p);
1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Log(const param_type& p, std::string* l);
1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
1092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
11023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)template <>
11123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)struct CONTENT_EXPORT ParamTraits<cc::SoftwareFrameData> {
11223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  typedef cc::SoftwareFrameData param_type;
11323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  static void Write(Message* m, const param_type& p);
11423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* p);
11523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  static void Log(const param_type& p, std::string* l);
11623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)};
11723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace IPC
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // CONTENT_COMMON_CC_MESSAGES_H_
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Multiply-included message file, hence no include guard.
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_MESSAGE_START CCMsgStart
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#undef IPC_MESSAGE_EXPORT
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_MESSAGE_EXPORT CONTENT_EXPORT
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(cc::DrawQuad::Material, cc::DrawQuad::MATERIAL_LAST)
1295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(cc::IOSurfaceDrawQuad::Orientation,
1305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                          cc::IOSurfaceDrawQuad::ORIENTATION_LAST)
1315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(cc::FilterOperation::FilterType,
1325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                          cc::FilterOperation::FILTER_TYPE_LAST )
133d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(cc::ResourceFormat, cc::RESOURCE_FORMAT_MAX)
134f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(SkXfermode::Mode, SkXfermode::kLastMode)
135010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(cc::YUVVideoDrawQuad::ColorSpace,
136010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)                          cc::YUVVideoDrawQuad::COLOR_SPACE_LAST)
1372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::RenderPass::Id)
1392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(layer_id)
1402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(index)
1412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
143f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::SurfaceId)
144f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)IPC_STRUCT_TRAITS_MEMBER(id)
145f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)IPC_STRUCT_TRAITS_END()
146f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
1472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::DrawQuad)
1482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(material)
1492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(rect)
1502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(opaque_rect)
1512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(visible_rect)
1522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(needs_blending)
1532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::CheckerboardDrawQuad)
1562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
1572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(color)
1582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::DebugBorderDrawQuad)
1612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
1622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(color)
1632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(width)
1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::IOSurfaceDrawQuad)
1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
1682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(io_surface_size)
169c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(io_surface_resource_id)
1702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(orientation)
1712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::RenderPassDrawQuad)
1742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
175c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(render_pass_id)
1762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(is_replica)
1772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(mask_resource_id)
1782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(contents_changed_since_last_frame)
1792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(mask_uv_rect)
1802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(filters)
1812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(background_filters)
1822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::SolidColorDrawQuad)
1852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
1862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(color)
187c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(force_anti_aliasing_off)
1882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::StreamVideoDrawQuad)
1912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
192c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(resource_id)
1932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(matrix)
1942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1965d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::SurfaceDrawQuad)
1975d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
1985d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(surface_id)
1995d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_STRUCT_TRAITS_END()
2005d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
2012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::TextureDrawQuad)
2022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
2032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(resource_id)
2042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(premultiplied_alpha)
2052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(uv_top_left)
2062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(uv_bottom_right)
2077dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  IPC_STRUCT_TRAITS_MEMBER(background_color)
2082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(vertex_opacity[0])
2092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(vertex_opacity[1])
2102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(vertex_opacity[2])
2112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(vertex_opacity[3])
2122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(flipped)
2132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::TileDrawQuad)
2162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
2172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(resource_id)
2182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(tex_coord_rect)
2192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(texture_size)
2202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(swizzle_contents)
2212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::YUVVideoDrawQuad)
2242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
225effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  IPC_STRUCT_TRAITS_MEMBER(tex_coord_rect)
226c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(y_plane_resource_id)
227c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(u_plane_resource_id)
228c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(v_plane_resource_id)
229868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(a_plane_resource_id)
230010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(color_space)
2312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::SharedQuadState)
2342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(content_to_target_transform)
2352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(content_bounds)
2362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(visible_content_rect)
2372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(clip_rect)
2382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(is_clipped)
2392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(opacity)
240f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(blend_mode)
2416d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(sorting_context_id)
2422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::TransferableResource)
2452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(id)
2462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(format)
2472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(filter)
2482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(size)
2495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(mailbox_holder)
25046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(is_repeated)
2511e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(is_software)
2522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2543551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::ReturnedResource)
2553551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(id)
2563551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(sync_point)
2573551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(count)
25868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(lost)
2593551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)IPC_STRUCT_TRAITS_END()
2603551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)
2617d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::BeginFrameArgs)
2627d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(frame_time)
2637d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(deadline)
2647d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(interval)
2657d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)IPC_STRUCT_TRAITS_END()
2667d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
2672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::CompositorFrameMetadata)
2682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(device_scale_factor)
2692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(root_scroll_offset)
2702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(page_scale_factor)
2712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(viewport_size)
2722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(root_layer_size)
2732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(min_page_scale_factor)
2742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(max_page_scale_factor)
2752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(location_bar_offset)
2762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(location_bar_content_translation)
277c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(overdraw_bottom_height)
278868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(latency_info)
2792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::GLFrameData)
2822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(mailbox)
2832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(sync_point)
2842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(size)
2857d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(sub_buffer_rect)
2862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
287