summaryrefslogtreecommitdiffstats
path: root/cc/layers/ui_resource_layer_impl.cc
diff options
context:
space:
mode:
authordanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-12 17:11:30 +0000
committerdanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-12 17:11:30 +0000
commit8e1da691f5c68010cd24b6fc468458f248d9b6c8 (patch)
tree40cd5f80d809c7b6eed8f94d10010bb59366188f /cc/layers/ui_resource_layer_impl.cc
parent832c83b1cd554367fed1c53b5d249c6492d08d89 (diff)
downloadchromium_src-8e1da691f5c68010cd24b6fc468458f248d9b6c8.zip
chromium_src-8e1da691f5c68010cd24b6fc468458f248d9b6c8.tar.gz
chromium_src-8e1da691f5c68010cd24b6fc468458f248d9b6c8.tar.bz2
cc: Preserve partial culling from child compositor.
When the child compositor performs occlusion culling and determines what part of the quad is visible, we should preserve this in the browser compositor, and only shrink the visible (unoccluded) rect on quads if we're able due to occlusion in the browser. We should not grow the visible rect ever. Tests: QuadCullerTest.PartialCullingNotDestroyed QuadCullerTest.PartialCullingWithOcclusionNotDestroyed R=alokp@chromium.org, piman BUG=305757 Review URL: https://codereview.chromium.org/26726003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228350 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/layers/ui_resource_layer_impl.cc')
-rw-r--r--cc/layers/ui_resource_layer_impl.cc8
1 files changed, 3 insertions, 5 deletions
diff --git a/cc/layers/ui_resource_layer_impl.cc b/cc/layers/ui_resource_layer_impl.cc
index cb4d975..faa3171 100644
--- a/cc/layers/ui_resource_layer_impl.cc
+++ b/cc/layers/ui_resource_layer_impl.cc
@@ -80,15 +80,13 @@ void UIResourceLayerImpl::AppendQuads(QuadSink* quad_sink,
DCHECK(!bounds().IsEmpty());
- // TODO(clholgat): Properly calculate opacity: crbug.com/300027
- gfx::Rect opaque_rect;
- if (contents_opaque())
- opaque_rect = gfx::Rect(bounds());
-
gfx::Rect quad_rect(bounds());
gfx::Rect uv_top_left(0.f, 0.f);
gfx::Rect uv_bottom_right(1.f, 1.f);
+ // TODO(clholgat): Properly calculate opacity: crbug.com/300027
+ gfx::Rect opaque_rect(contents_opaque() ? quad_rect : gfx::Rect());
+
const float vertex_opacity[] = {1.0f, 1.0f, 1.0f, 1.0f};
scoped_ptr<TextureDrawQuad> quad;