Index: content/common/cc_messages.cc |
diff --git a/content/common/cc_messages.cc b/content/common/cc_messages.cc |
index e7c2ad21fdee1ab412f3766a0991cd0fb750f9b0..bf8413cf0db0139eb61cdd0beb06ba38d5649e3d 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,44 @@ 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); |
+ 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(", ["); |
+ if (p.count > cc::DrawQuad::Resources::kMaxResourceIdCount) { |
+ l->append("])"); |
+ return; |
+ } |
+ |
+ 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 |