Chromium Code Reviews| Index: cc/layers/render_surface_impl.cc |
| diff --git a/cc/layers/render_surface_impl.cc b/cc/layers/render_surface_impl.cc |
| index 9a1edbf0f90e0c2c455d519e51a66ce7d3e6ac10..0ddb51cde817ce99e8400a22d801ea5abd268593 100644 |
| --- a/cc/layers/render_surface_impl.cc |
| +++ b/cc/layers/render_surface_impl.cc |
| @@ -143,6 +143,11 @@ void RenderSurfaceImpl::AppendQuads(QuadSink* quad_sink, |
| const gfx::Transform& draw_transform = |
| for_replica ? replica_draw_transform_ : draw_transform_; |
| + gfx::Rect visible_content_rect = |
| + quad_sink->UnoccludedContentRect(content_rect_, draw_transform); |
|
enne (OOO)
2014/03/19 23:05:32
Why does this not use UnoccludedContributingSurfac
danakj
2014/03/19 23:12:33
Cuz copy/paste, woops. Maybe I should add a separa
enne (OOO)
2014/03/19 23:18:36
Yah. Having a test that would have caught this sg
danakj
2014/03/19 23:22:22
Done.
|
| + if (visible_content_rect.IsEmpty()) |
| + return; |
| + |
| SharedQuadState* shared_quad_state = |
| quad_sink->UseSharedQuadState(SharedQuadState::Create()); |
| shared_quad_state->SetAll(draw_transform, |
| @@ -154,8 +159,6 @@ void RenderSurfaceImpl::AppendQuads(QuadSink* quad_sink, |
| owning_layer_->blend_mode()); |
| if (owning_layer_->ShowDebugBorders()) { |
| - gfx::Rect quad_rect = content_rect_; |
| - gfx::Rect visible_quad_rect = quad_rect; |
| SkColor color = for_replica ? |
| DebugColors::SurfaceReplicaBorderColor() : |
| DebugColors::SurfaceBorderColor(); |
| @@ -167,8 +170,8 @@ void RenderSurfaceImpl::AppendQuads(QuadSink* quad_sink, |
| scoped_ptr<DebugBorderDrawQuad> debug_border_quad = |
| DebugBorderDrawQuad::Create(); |
| debug_border_quad->SetNew( |
| - shared_quad_state, quad_rect, visible_quad_rect, color, width); |
| - quad_sink->MaybeAppend(debug_border_quad.PassAs<DrawQuad>()); |
| + shared_quad_state, content_rect_, visible_content_rect, color, width); |
| + quad_sink->Append(debug_border_quad.PassAs<DrawQuad>()); |
| } |
| // TODO(shawnsingh): By using the same RenderSurfaceImpl for both the content |
| @@ -212,7 +215,6 @@ void RenderSurfaceImpl::AppendQuads(QuadSink* quad_sink, |
| uv_scale_y); |
| } |
| - gfx::Rect visible_content_rect(content_rect_); |
| ResourceProvider::ResourceId mask_resource_id = |
| mask_layer ? mask_layer->ContentsResourceId() : 0; |
| gfx::Rect contents_changed_since_last_frame = |
| @@ -229,7 +231,7 @@ void RenderSurfaceImpl::AppendQuads(QuadSink* quad_sink, |
| mask_uv_rect, |
| owning_layer_->filters(), |
| owning_layer_->background_filters()); |
| - quad_sink->MaybeAppend(quad.PassAs<DrawQuad>()); |
| + quad_sink->Append(quad.PassAs<DrawQuad>()); |
| } |
| } // namespace cc |