Index: content/common/cc_messages.cc |
diff --git a/content/common/cc_messages.cc b/content/common/cc_messages.cc |
index 992ff8a27a1532c7c2c67e5733c44cdfddf41ef3..34b5614dd073a6acf603f0ef7790d5e1ac2697b6 100644 |
--- a/content/common/cc_messages.cc |
+++ b/content/common/cc_messages.cc |
@@ -300,6 +300,7 @@ |
WriteParam(m, p.damage_rect); |
WriteParam(m, p.transform_to_root_target); |
WriteParam(m, p.has_transparent_background); |
+ WriteParam(m, p.referenced_surfaces); |
WriteParam(m, p.quad_list.size()); |
cc::SharedQuadStateList::ConstIterator shared_quad_state_iter = |
@@ -383,6 +384,9 @@ |
// The largest quad type, verified by a unit test. |
to_reserve += p.quad_list.size() * cc::LargestDrawQuadSize(); |
+ |
+ // The actual list of referenced surfaces. |
+ to_reserve += p.referenced_surfaces.size() * sizeof(cc::SurfaceId); |
return to_reserve; |
} |
@@ -404,12 +408,14 @@ |
gfx::Rect damage_rect; |
gfx::Transform transform_to_root_target; |
bool has_transparent_background; |
+ std::vector<cc::SurfaceId> referenced_surfaces; |
size_t quad_list_size; |
if (!ReadParam(m, iter, &id) || !ReadParam(m, iter, &output_rect) || |
!ReadParam(m, iter, &damage_rect) || |
!ReadParam(m, iter, &transform_to_root_target) || |
!ReadParam(m, iter, &has_transparent_background) || |
+ !ReadParam(m, iter, &referenced_surfaces) || |
!ReadParam(m, iter, &quad_list_size)) |
return false; |
@@ -418,6 +424,7 @@ |
damage_rect, |
transform_to_root_target, |
has_transparent_background); |
+ p->referenced_surfaces.swap(referenced_surfaces); |
for (size_t i = 0; i < quad_list_size; ++i) { |
cc::DrawQuad::Material material; |
@@ -506,6 +513,8 @@ |
l->append(", "); |
LogParam(p.has_transparent_background, l); |
l->append(", "); |
+ LogParam(p.referenced_surfaces, l); |
+ l->append(", "); |
l->append("["); |
for (const auto& shared_quad_state : p.shared_quad_state_list) { |