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

Unified Diff: cc/layers/delegated_renderer_layer_impl.cc

Issue 935333002: Update from https://crrev.com/316786 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 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
« no previous file with comments | « cc/layers/delegated_renderer_layer_impl.h ('k') | cc/layers/draw_properties.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/delegated_renderer_layer_impl.cc
diff --git a/cc/layers/delegated_renderer_layer_impl.cc b/cc/layers/delegated_renderer_layer_impl.cc
index 8a95b9e9137f26dbb68ad2241011a5132fc9cde2..e1056be6c07468073e93505d8ed3d9e1e2921219 100644
--- a/cc/layers/delegated_renderer_layer_impl.cc
+++ b/cc/layers/delegated_renderer_layer_impl.cc
@@ -255,7 +255,6 @@ bool DelegatedRendererLayerImpl::WillDraw(DrawMode draw_mode,
void DelegatedRendererLayerImpl::AppendQuads(
RenderPass* render_pass,
- const Occlusion& occlusion_in_content_space,
AppendQuadsData* append_quads_data) {
AppendRainbowDebugBorder(render_pass);
@@ -282,7 +281,6 @@ void DelegatedRendererLayerImpl::AppendQuads(
DCHECK(target_render_pass_id.layer_id == render_target()->id());
AppendRenderPassQuads(render_pass,
- occlusion_in_content_space,
root_delegated_render_pass,
frame_size);
} else {
@@ -293,7 +291,6 @@ void DelegatedRendererLayerImpl::AppendQuads(
const RenderPass* delegated_render_pass =
render_passes_in_draw_order_[render_pass_index];
AppendRenderPassQuads(render_pass,
- occlusion_in_content_space,
delegated_render_pass,
frame_size);
}
@@ -349,39 +346,52 @@ void DelegatedRendererLayerImpl::AppendRainbowDebugBorder(
break;
if (!top.IsEmpty()) {
+ bool force_anti_aliasing_off = false;
SolidColorDrawQuad* top_quad =
render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
- top_quad->SetNew(
- shared_quad_state, top, top, colors[i % kNumColors], false);
+ top_quad->SetNew(shared_quad_state, top, top, colors[i % kNumColors],
+ force_anti_aliasing_off);
SolidColorDrawQuad* bottom_quad =
render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
- bottom_quad->SetNew(shared_quad_state,
- bottom,
- bottom,
+ bottom_quad->SetNew(shared_quad_state, bottom, bottom,
colors[kNumColors - 1 - (i % kNumColors)],
- false);
+ force_anti_aliasing_off);
+
+ if (contents_opaque()) {
+ // Draws a stripe filling the layer vertically with the same color and
+ // width as the horizontal stipes along the layer's top border.
+ SolidColorDrawQuad* solid_quad =
+ render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
+ // The inner fill is more transparent then the border.
+ static const float kFillOpacity = 0.1f;
+ SkColor fill_color = SkColorSetA(
+ colors[i % kNumColors],
+ static_cast<uint8_t>(SkColorGetA(colors[i % kNumColors]) *
+ kFillOpacity));
+ gfx::Rect fill_rect(x, 0, width, content_bounds().height());
+ solid_quad->SetNew(shared_quad_state, fill_rect, fill_rect, fill_color,
+ force_anti_aliasing_off);
+ }
}
if (!left.IsEmpty()) {
+ bool force_anti_aliasing_off = false;
SolidColorDrawQuad* left_quad =
render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
- left_quad->SetNew(shared_quad_state,
- left,
- left,
+ left_quad->SetNew(shared_quad_state, left, left,
colors[kNumColors - 1 - (i % kNumColors)],
- false);
+ force_anti_aliasing_off);
SolidColorDrawQuad* right_quad =
render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
- right_quad->SetNew(
- shared_quad_state, right, right, colors[i % kNumColors], false);
+ right_quad->SetNew(shared_quad_state, right, right,
+ colors[i % kNumColors], force_anti_aliasing_off);
}
}
}
void DelegatedRendererLayerImpl::AppendRenderPassQuads(
RenderPass* render_pass,
- const Occlusion& occlusion_in_content_space,
const RenderPass* delegated_render_pass,
const gfx::Size& frame_size) const {
const SharedQuadState* delegated_shared_quad_state = nullptr;
@@ -437,8 +447,9 @@ void DelegatedRendererLayerImpl::AppendRenderPassQuads(
}
Occlusion occlusion_in_quad_space =
- occlusion_in_content_space.GetOcclusionWithGivenDrawTransform(
- quad_content_to_delegated_target_space);
+ draw_properties()
+ .occlusion_in_content_space.GetOcclusionWithGivenDrawTransform(
+ quad_content_to_delegated_target_space);
gfx::Rect quad_visible_rect =
occlusion_in_quad_space.GetUnoccludedContentRect(
« no previous file with comments | « cc/layers/delegated_renderer_layer_impl.h ('k') | cc/layers/draw_properties.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698