Title: [88067] branches/chromium/782/Source
- Revision
- 88067
- Author
- [email protected]
- Date
- 2011-06-03 15:03:36 -0700 (Fri, 03 Jun 2011)
Log Message
Merge 87868 - 2011-06-01 Adrienne Walker <[email protected]>
Reviewed by James Robinson.
[chromium] Fix syncing of removed mask and replica layers
https://bugs.webkit.org/show_bug.cgi?id=61895
* platform/graphics/chromium/TreeSynchronizer.cpp:
(WebCore::TreeSynchronizer::synchronizeTreeRecursive):
2011-06-01 Adrienne Walker <[email protected]>
Reviewed by James Robinson.
[chromium] Fix syncing of removed mask and replica layers
https://bugs.webkit.org/show_bug.cgi?id=61895
* tests/TreeSynchronizerTest.cpp:
(WebCore::TEST):
[email protected]
Modified Paths
Diff
Modified: branches/chromium/782/Source/WebCore/platform/graphics/chromium/TreeSynchronizer.cpp (88066 => 88067)
--- branches/chromium/782/Source/WebCore/platform/graphics/chromium/TreeSynchronizer.cpp 2011-06-03 21:55:11 UTC (rev 88066)
+++ branches/chromium/782/Source/WebCore/platform/graphics/chromium/TreeSynchronizer.cpp 2011-06-03 22:03:36 UTC (rev 88067)
@@ -66,9 +66,13 @@
if (LayerChromium* maskLayer = layer->maskLayer())
ccLayerImpl->setMaskLayer(synchronizeTreeRecursive(maskLayer, map));
+ else
+ ccLayerImpl->setMaskLayer(0);
if (LayerChromium* replicaLayer = layer->replicaLayer())
ccLayerImpl->setReplicaLayer(synchronizeTreeRecursive(replicaLayer, map));
+ else
+ ccLayerImpl->setReplicaLayer(0);
layer->setCCLayerImpl(ccLayerImpl.get());
@@ -91,5 +95,3 @@
}
} // namespace WebCore
-
-
Modified: branches/chromium/782/Source/WebKit/chromium/tests/TreeSynchronizerTest.cpp (88066 => 88067)
--- branches/chromium/782/Source/WebKit/chromium/tests/TreeSynchronizerTest.cpp 2011-06-03 21:55:11 UTC (rev 88066)
+++ branches/chromium/782/Source/WebKit/chromium/tests/TreeSynchronizerTest.cpp 2011-06-03 22:03:36 UTC (rev 88067)
@@ -282,8 +282,22 @@
RefPtr<CCLayerImpl> ccLayerTreeRoot = TreeSynchronizer::synchronizeTrees(layerTreeRoot.get(), 0);
expectTreesAreIdentical(layerTreeRoot.get(), ccLayerTreeRoot.get());
+
+ // Remove the mask layer.
+ layerTreeRoot->children()[0]->setMaskLayer(0);
+ ccLayerTreeRoot = TreeSynchronizer::synchronizeTrees(layerTreeRoot.get(), ccLayerTreeRoot.get());
+ expectTreesAreIdentical(layerTreeRoot.get(), ccLayerTreeRoot.get());
+
+ // Remove the replica layer.
+ layerTreeRoot->children()[1]->setReplicaLayer(0);
+ ccLayerTreeRoot = TreeSynchronizer::synchronizeTrees(layerTreeRoot.get(), ccLayerTreeRoot.get());
+ expectTreesAreIdentical(layerTreeRoot.get(), ccLayerTreeRoot.get());
+
+ // Remove the replica mask.
+ replicaLayerWithMask->setMaskLayer(0);
+ ccLayerTreeRoot = TreeSynchronizer::synchronizeTrees(layerTreeRoot.get(), ccLayerTreeRoot.get());
+ expectTreesAreIdentical(layerTreeRoot.get(), ccLayerTreeRoot.get());
}
} // namespace
-
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes