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 |