Title: [120129] trunk/Source/WebCore
- Revision
- 120129
- Author
- e...@google.com
- Date
- 2012-06-12 15:12:52 -0700 (Tue, 12 Jun 2012)
Log Message
[chromium] Don't set visible layer rect in CCLayerTreeHost paint iteration
https://bugs.webkit.org/show_bug.cgi?id=88895
Reviewed by James Robinson.
We should only set visible layer rects during the recursion in
CClayerTreeHostCommon and not while we're painting. This is one last
straggling piece of code that never got moved.
Tested by existing mask-related layout tests.
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateVisibleAndScissorRectsInternal):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (120128 => 120129)
--- trunk/Source/WebCore/ChangeLog 2012-06-12 22:02:51 UTC (rev 120128)
+++ trunk/Source/WebCore/ChangeLog 2012-06-12 22:12:52 UTC (rev 120129)
@@ -1,3 +1,21 @@
+2012-06-12 Adrienne Walker <e...@google.com>
+
+ [chromium] Don't set visible layer rect in CCLayerTreeHost paint iteration
+ https://bugs.webkit.org/show_bug.cgi?id=88895
+
+ Reviewed by James Robinson.
+
+ We should only set visible layer rects during the recursion in
+ CClayerTreeHostCommon and not while we're painting. This is one last
+ straggling piece of code that never got moved.
+
+ Tested by existing mask-related layout tests.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
+ * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+ (WebCore::calculateVisibleAndScissorRectsInternal):
+
2012-06-12 Dana Jansens <dan...@chromium.org>
[chromium] Return empty visibleLayerRect for layers with empty content bounds
Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp (120128 => 120129)
--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp 2012-06-12 22:02:51 UTC (rev 120128)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp 2012-06-12 22:12:52 UTC (rev 120129)
@@ -583,16 +583,12 @@
// mask and replica should be painted.
LayerChromium* maskLayer = renderSurfaceLayer->maskLayer();
- if (maskLayer) {
- maskLayer->setVisibleLayerRect(IntRect(IntPoint(), renderSurfaceLayer->contentBounds()));
+ if (maskLayer)
update(maskLayer, paintType, updater, 0);
- }
LayerChromium* replicaMaskLayer = renderSurfaceLayer->replicaLayer() ? renderSurfaceLayer->replicaLayer()->maskLayer() : 0;
- if (replicaMaskLayer) {
- replicaMaskLayer->setVisibleLayerRect(IntRect(IntPoint(), renderSurfaceLayer->contentBounds()));
+ if (replicaMaskLayer)
update(replicaMaskLayer, paintType, updater, 0);
- }
}
void CCLayerTreeHost::paintLayerContents(const LayerList& renderSurfaceLayerList, PaintType paintType, CCTextureUpdater& updater)
Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp (120128 => 120129)
--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp 2012-06-12 22:02:51 UTC (rev 120128)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp 2012-06-12 22:12:52 UTC (rev 120129)
@@ -830,11 +830,17 @@
CCLayerIteratorType end = CCLayerIteratorType::end(&renderSurfaceLayerList);
for (CCLayerIteratorType it = CCLayerIteratorType::begin(&renderSurfaceLayerList); it != end; ++it) {
- if (!it.representsTargetRenderSurface()) {
+ if (it.representsTargetRenderSurface()) {
+ LayerType* maskLayer = it->maskLayer();
+ if (maskLayer)
+ maskLayer->setVisibleLayerRect(IntRect(IntPoint(), it->contentBounds()));
+ LayerType* replicaMaskLayer = it->replicaLayer() ? it->replicaLayer()->maskLayer() : 0;
+ if (replicaMaskLayer)
+ replicaMaskLayer->setVisibleLayerRect(IntRect(IntPoint(), it->contentBounds()));
+ } else if (it.representsItself()) {
IntRect visibleLayerRect = calculateVisibleLayerRect(*it);
it->setVisibleLayerRect(visibleLayerRect);
- }
- if (it.representsItself()) {
+
IntRect scissorRect = calculateLayerScissorRect<LayerType, RenderSurfaceType>(*it, rootScissorRect);
it->setScissorRect(scissorRect);
} else if (it.representsContributingRenderSurface()) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes