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; |