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

Reply via email to