| Index: content/common/cc_messages.cc
|
| diff --git a/content/common/cc_messages.cc b/content/common/cc_messages.cc
|
| index e7c2ad21fdee1ab412f3766a0991cd0fb750f9b0..ac97b95930fbff688d9fc6c14c5b4fdfd0ef9bb1 100644
|
| --- a/content/common/cc_messages.cc
|
| +++ b/content/common/cc_messages.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "cc/output/compositor_frame.h"
|
| #include "cc/output/filter_operations.h"
|
| +#include "cc/quads/draw_quad.h"
|
| #include "cc/quads/largest_draw_quad.h"
|
| #include "cc/quads/render_pass_id.h"
|
| #include "content/public/common/common_param_traits.h"
|
| @@ -808,4 +809,43 @@ void ParamTraits<cc::SoftwareFrameData>::Log(const param_type& p,
|
| l->append(")");
|
| }
|
|
|
| +void ParamTraits<cc::DrawQuad::Resources>::Write(Message* m,
|
| + const param_type& p) {
|
| + DCHECK_LE(p.count, cc::DrawQuad::Resources::kMaxResourceIdCount);
|
| +
|
| + size_t to_reserve = sizeof(p.count) + p.count * sizeof(p.ids[0]);
|
| + m->Reserve(to_reserve);
|
| +
|
| + WriteParam(m, p.count);
|
| + for (size_t i = 0; i < p.count; ++i)
|
| + WriteParam(m, p.ids[i]);
|
| +}
|
| +
|
| +bool ParamTraits<cc::DrawQuad::Resources>::Read(const Message* m,
|
| + PickleIterator* iter,
|
| + param_type* p) {
|
| + if (!ReadParam(m, iter, &p->count))
|
| + return false;
|
| + if (p->count > cc::DrawQuad::Resources::kMaxResourceIdCount)
|
| + return false;
|
| + for (size_t i = 0; i < p->count; ++i) {
|
| + if (!ReadParam(m, iter, &p->ids[i]))
|
| + return false;
|
| + }
|
| + return true;
|
| +}
|
| +
|
| +void ParamTraits<cc::DrawQuad::Resources>::Log(const param_type& p,
|
| + std::string* l) {
|
| + l->append("DrawQuad::Resources(");
|
| + LogParam(p.count, l);
|
| + l->append(", [");
|
| + for (size_t i = 0; i < p.count; ++i) {
|
| + LogParam(p.ids[i], l);
|
| + if (i < (p.count - 1))
|
| + l->append(", ");
|
| + }
|
| + l->append("])");
|
| +}
|
| +
|
| } // namespace IPC
|
|
|