Index: cc/layers/texture_layer_impl.cc |
diff --git a/cc/layers/texture_layer_impl.cc b/cc/layers/texture_layer_impl.cc |
index 9e5b108f84739d0bb9d2e8726c2d25c8634fef94..a2bd770fe8a6178796701efa3656b31b089e7167 100644 |
--- a/cc/layers/texture_layer_impl.cc |
+++ b/cc/layers/texture_layer_impl.cc |
@@ -172,7 +172,11 @@ void TextureLayerImpl::AppendQuads(QuadSink* quad_sink, |
gfx::Rect quad_rect(content_bounds()); |
gfx::Rect opaque_rect = opaque ? quad_rect : gfx::Rect(); |
- gfx::Rect visible_quad_rect(quad_rect); |
+ gfx::Rect visible_quad_rect = quad_sink->UnoccludedContentRect( |
+ quad_rect, draw_properties().target_space_transform); |
+ if (visible_quad_rect.IsEmpty()) |
+ return; |
+ |
scoped_ptr<TextureDrawQuad> quad = TextureDrawQuad::Create(); |
ResourceProvider::ResourceId id = |
valid_texture_copy_ ? texture_copy_->id() : external_texture_resource_; |
@@ -187,7 +191,7 @@ void TextureLayerImpl::AppendQuads(QuadSink* quad_sink, |
bg_color, |
vertex_opacity_, |
flipped_); |
- quad_sink->MaybeAppend(quad.PassAs<DrawQuad>()); |
+ quad_sink->Append(quad.PassAs<DrawQuad>()); |
} |
void TextureLayerImpl::DidDraw(ResourceProvider* resource_provider) { |