Chromium Code Reviews| Index: cc/layers/picture_layer_impl.cc |
| diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
| index 7688b974e54bb6138c43f2081a4f2c1e6d759b14..5d1374814d078bb1b607f29ea0963952c9b4958a 100644 |
| --- a/cc/layers/picture_layer_impl.cc |
| +++ b/cc/layers/picture_layer_impl.cc |
| @@ -325,8 +325,19 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass, |
| case TileDrawInfo::SOLID_COLOR_MODE: { |
| SolidColorDrawQuad* quad = |
| render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
| - quad->SetNew(shared_quad_state, geometry_rect, visible_geometry_rect, |
| - draw_info.solid_color(), false); |
| + |
| + // At the beginning of the for loop above, opaque_rect is defined |
| + // against contents_opaque(). If it was actually the case then use it |
| + // otherwise use quad->SetNew which configure opaque_rect on other |
| + // condition. |
| + if (contents_opaque()) { |
| + quad->SetAll(shared_quad_state, geometry_rect, opaque_rect, |
| + visible_geometry_rect, false, draw_info.solid_color(), |
| + false); |
| + } else { |
| + quad->SetNew(shared_quad_state, geometry_rect, |
| + visible_geometry_rect, draw_info.solid_color(), false); |
| + } |
|
trchen
2016/03/08 01:57:21
Why is this change needed? This only changes the b
|
| ValidateQuadResources(quad); |
| iter->draw_info().set_was_ever_used_to_draw(); |
| has_draw_quad = true; |