| Index: cc/texture_layer_impl.cc
|
| diff --git a/cc/texture_layer_impl.cc b/cc/texture_layer_impl.cc
|
| index e8a68741855891ef8d8e1317942c96484d7994bc..dd764a0572fd45044b0b8bb4c0074c387463e2fa 100644
|
| --- a/cc/texture_layer_impl.cc
|
| +++ b/cc/texture_layer_impl.cc
|
| @@ -45,7 +45,12 @@ void TextureLayerImpl::appendQuads(QuadSink& quadSink, AppendQuadsData& appendQu
|
| gfx::Rect opaqueRect(contentsOpaque() ? quadRect : gfx::Rect());
|
| scoped_ptr<TextureDrawQuad> quad = TextureDrawQuad::Create();
|
| quad->SetNew(sharedQuadState, quadRect, opaqueRect, m_externalTextureResource, m_premultipliedAlpha, m_uvRect, m_flipped);
|
| - quadSink.append(quad.PassAs<DrawQuad>(), appendQuadsData);
|
| +
|
| + // Perform explicit clipping on a quad to avoid setting a scissor later.
|
| + if (sharedQuadState->is_clipped && quad->PerformClipping())
|
| + sharedQuadState->is_clipped = false;
|
| + if (!quad->rect.IsEmpty())
|
| + quadSink.append(quad.PassAs<DrawQuad>(), appendQuadsData);
|
| }
|
|
|
| void TextureLayerImpl::didDraw(ResourceProvider* resourceProvider)
|
|
|