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