Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(134)

Unified Diff: cc/layers/picture_layer_impl.cc

Issue 1731373002: Allow to have a transparent UA dependent background. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Decouple background color and transparency in RenderWidgetHostView Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698