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

Issue 9958025: Merge 112436 - [chromium] layer->clipRect() is not initialized for layers that create a renderSurfa… (Closed)

Created:
8 years, 8 months ago by shawnsingh
Modified:
8 years, 8 months ago
Reviewers:
shawnsingh
CC:
chromium-reviews
Base URL:
http://svn.webkit.org/repository/webkit/branches/chromium/1084/
Visibility:
Public.

Description

Merge 112436 - [chromium] layer->clipRect() is not initialized for layers that create a renderSurface. https://bugs.webkit.org/show_bug.cgi?id=74147 Reviewed by Adrienne Walker. Source/WebCore: Added 3 additional unit tests; Modified existing unit tests and layout tests. The layer's clipRect and usesLayerClipping information was not being initialized for layers that created a renderSurface. (It was, however, being initialized for the renderSurface itself.) This patch adds a unit test that reproduces that this is an error, other unit tests to tightly test the value of clipRect being initialized, and adds the logic to properly initialize the clipRect. Before this patch, this bug was causing flashing on tab-switch on the apple iphone page. Even worse, with partial swap enabled, the layers would simply disappear, because the first frame the clipRect is uninitialized and the layer is not drawn, and the second frame onwards, the damage tracker correctly things nothing is damaged, so it doesn't draw that layer again until other damage causes it to be redrawn. * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: (WebCore::calculateDrawTransformsAndVisibilityInternal): Source/WebKit/chromium: Added 3 more unit tests. One reproduces the clipRect problem in an integrated manner, the other two directly test that clipRects are properly initialized. * tests/CCLayerTreeHostCommonTest.cpp: (WebCore::TEST): (WebCore): * tests/CCLayerTreeTestCommon.h: (WebKitTests): LayoutTests: * platform/chromium/test_expectations.txt: marked test as needing rebaselining TBR=shawnsingh@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=112702

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+220 lines, -11 lines) Patch
M LayoutTests/platform/chromium/test_expectations.txt View 1 chunk +4 lines, -0 lines 0 comments Download
M Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp View 2 chunks +14 lines, -5 lines 0 comments Download
M Source/WebCore/platform/graphics/chromium/cc/CCOcclusionTracker.cpp View 1 chunk +1 line, -2 lines 0 comments Download
M Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/WebCore/platform/graphics/chromium/cc/CCSharedQuadState.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp View 3 chunks +191 lines, -3 lines 0 comments Download
M Source/WebKit/chromium/tests/CCLayerTreeTestCommon.h View 1 chunk +7 lines, -1 line 0 comments Download

Messages

Total messages: 1 (0 generated)
shawnsingh
8 years, 8 months ago (2012-03-30 18:42:17 UTC) #1

          

Powered by Google App Engine
This is Rietveld 408576698