Index: cc/layers/picture_layer_impl.cc |
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
index b677fad89af89e9503446e1bc23df5ed135bef55..f3e99e23dbc1f4848bbf3a0d27a1e9949f537af9 100644 |
--- a/cc/layers/picture_layer_impl.cc |
+++ b/cc/layers/picture_layer_impl.cc |
@@ -99,6 +99,29 @@ void PictureLayerImpl::AppendQuads(QuadSink* quad_sink, |
quad_sink->UseSharedQuadState(CreateSharedQuadState()); |
AppendDebugBorderQuad(quad_sink, shared_quad_state, append_quads_data); |
+ if (!append_quads_data->allow_tile_draw_quads) { |
+ gfx::Rect geometry_rect = rect; |
+ gfx::Rect opaque_rect = contents_opaque() ? geometry_rect : gfx::Rect(); |
+ gfx::Size texture_size = rect.size(); |
+ gfx::RectF texture_rect = gfx::RectF(texture_size); |
+ gfx::Rect quad_content_rect = rect; |
+ float contents_scale = contents_scale_x(); |
+ |
+ scoped_ptr<PictureDrawQuad> quad = PictureDrawQuad::Create(); |
+ quad->SetNew(shared_quad_state, |
+ geometry_rect, |
+ opaque_rect, |
+ texture_rect, |
+ texture_size, |
+ false, |
+ quad_content_rect, |
+ contents_scale, |
+ pile_); |
+ if (quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data)) |
+ append_quads_data->num_missing_tiles++; |
+ return; |
+ } |
+ |
bool clipped = false; |
gfx::QuadF target_quad = MathUtil::MapQuad( |
draw_transform(), |