| Index: cc/layers/picture_layer_impl.cc
|
| diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
|
| index 5fad7f4b6701cdcc3e288f5e7225f3eb79a1f080..17420ee9b23a825b0c6e7d42bf3cffd41a0f9407 100644
|
| --- a/cc/layers/picture_layer_impl.cc
|
| +++ b/cc/layers/picture_layer_impl.cc
|
| @@ -227,6 +227,7 @@ void PictureLayerImpl::AppendQuads(QuadSink* quad_sink,
|
|
|
| const ManagedTileState::TileVersion& tile_version =
|
| iter->GetTileVersionForDrawing();
|
| + scoped_ptr<DrawQuad> draw_quad;
|
| switch (tile_version.mode()) {
|
| case ManagedTileState::TileVersion::RESOURCE_MODE: {
|
| gfx::RectF texture_rect = iter.texture_rect();
|
| @@ -244,7 +245,7 @@ void PictureLayerImpl::AppendQuads(QuadSink* quad_sink,
|
| texture_rect,
|
| iter.texture_size(),
|
| tile_version.contents_swizzled());
|
| - quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data);
|
| + draw_quad = quad.PassAs<DrawQuad>();
|
| break;
|
| }
|
| case ManagedTileState::TileVersion::PICTURE_PILE_MODE: {
|
| @@ -267,7 +268,7 @@ void PictureLayerImpl::AppendQuads(QuadSink* quad_sink,
|
| iter->contents_scale(),
|
| draw_direct_to_backbuffer,
|
| pile_);
|
| - quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data);
|
| + draw_quad = quad.PassAs<DrawQuad>();
|
| break;
|
| }
|
| case ManagedTileState::TileVersion::SOLID_COLOR_MODE: {
|
| @@ -276,13 +277,14 @@ void PictureLayerImpl::AppendQuads(QuadSink* quad_sink,
|
| geometry_rect,
|
| tile_version.get_solid_color(),
|
| false);
|
| - quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data);
|
| + draw_quad = quad.PassAs<DrawQuad>();
|
| break;
|
| }
|
| - default:
|
| - NOTREACHED();
|
| }
|
|
|
| + DCHECK(draw_quad);
|
| + quad_sink->Append(draw_quad.Pass(), append_quads_data);
|
| +
|
| if (!seen_tilings.size() || seen_tilings.back() != iter.CurrentTiling())
|
| seen_tilings.push_back(iter.CurrentTiling());
|
| }
|
|
|