Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Issue 7046081: Merge 88496 - 2011-06-09 James Robinson <jamesr@chromium.org> (Closed)

Created:
9 years, 6 months ago by jamesr
Modified:
9 years, 6 months ago
Reviewers:
jamesr
CC:
chromium-reviews
Base URL:
http://svn.webkit.org/repository/webkit/branches/chromium/782/
Visibility:
Public.

Description

Merge 88496 - 2011-06-09 James Robinson <jamesr@chromium.org>; Reviewed by Kenneth Russell. [chromium] Scissor rect not set for clipping layers set offscreen https://bugs.webkit.org/show_bug.cgi?id=62339 Tests that a layer that should clip its children actually does clip even when scrolled offscreen. * platform/chromium/compositing/scissor-out-of-viewport-expected.png: Added. * platform/chromium/compositing/scissor-out-of-viewport-expected.txt: Added. * platform/chromium/compositing/scissor-out-of-viewport.html: Added. 2011-06-09 James Robinson <jamesr@chromium.org>; Reviewed by Kenneth Russell. [chromium] Scissor rect not set for clipping layers set offscreen https://bugs.webkit.org/show_bug.cgi?id=62339 We set a scissorRect on each layer, but only layers with masksToBounds and their descendants should actually set a scissor. Layers that didn't need to scissor had empty scissorRects. Unfortunately layers with masksToBounds and their descendants that are scrolled offscreen also end up with an empty clipped scissor rect. This patch sets an explicit bit on each layer that should scissor and then checks that bit instead of checking for an empty scissor rect at draw time. RenderSurfaceChromiums have different requirements for setScissorToRect, so the old behavior is still available with a flag. This can probably be cleaned up more. Test: platform/chromium/compositing/scissor-out-of-viewport.html * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): (WebCore::LayerRendererChromium::drawLayer): (WebCore::LayerRendererChromium::setScissorToRect): * platform/graphics/chromium/LayerRendererChromium.h: * platform/graphics/chromium/RenderSurfaceChromium.cpp: (WebCore::RenderSurfaceChromium::draw): * platform/graphics/chromium/cc/CCLayerImpl.cpp: (WebCore::CCLayerImpl::CCLayerImpl): * platform/graphics/chromium/cc/CCLayerImpl.h: (WebCore::CCLayerImpl::setUsesLayerScissor): (WebCore::CCLayerImpl::usesLayerScissor): BUG=84122 TBR=jamesr@chromium.org Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=88501

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+771 lines, -6 lines) Patch
A + LayoutTests/platform/chromium/compositing/scissor-out-of-viewport.html View 0 chunks +-1 lines, --1 lines 0 comments Download
A + LayoutTests/platform/chromium/compositing/scissor-out-of-viewport-expected.png View 0 chunks +-1 lines, --1 lines 0 comments Download
A + LayoutTests/platform/chromium/compositing/scissor-out-of-viewport-expected.txt View 0 chunks +-1 lines, --1 lines 0 comments Download
Source/WebCore/ChangeLog View 1 chunk +752 lines, -0 lines 0 comments Download
M Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp View 6 chunks +12 lines, -8 lines 0 comments Download
M Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.cpp View 1 chunk +5 lines, -1 line 0 comments Download
M Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h View 2 chunks +4 lines, -0 lines 0 comments Download
M Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
jamesr
9 years, 6 months ago (2011-06-09 23:36:36 UTC) #1

          

Powered by Google App Engine
This is Rietveld 408576698