Title: [117891] releases/WebKitGTK/webkit-1.8
Revision
117891
Author
[email protected]
Date
2012-05-21 20:36:25 -0700 (Mon, 21 May 2012)

Log Message

Merge 112939 - Fix issue with reflections and composited layers
https://bugs.webkit.org/show_bug.cgi?id=82636

Source/WebCore:

Reviewed by Alexey Proskuryakov

When tearing down GraphicsLayers which referene eachother via m_replicatedLayer/m_replicaLayer,
we need to clean up the replica layer pointers.

No new tests; tested by existing compositing and repaint tests.

* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::~GraphicsLayer):
(WebCore::GraphicsLayer::setReplicatedByLayer):

LayoutTests:

Reviewed by Alexey Proskuryakov

Unskip some compositing tests that should pass now.

* platform/mac-wk2/Skipped:


Conflicts:

	LayoutTests/platform/mac-wk2/Skipped
	Source/WebCore/platform/graphics/GraphicsLayer.cpp

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-1.8/LayoutTests/ChangeLog (117890 => 117891)


--- releases/WebKitGTK/webkit-1.8/LayoutTests/ChangeLog	2012-05-22 03:30:43 UTC (rev 117890)
+++ releases/WebKitGTK/webkit-1.8/LayoutTests/ChangeLog	2012-05-22 03:36:25 UTC (rev 117891)
@@ -1,3 +1,14 @@
+2012-04-02  Simon Fraser  <[email protected]>
+
+        Fix issue with reflections and composited layers
+        https://bugs.webkit.org/show_bug.cgi?id=82636
+
+        Reviewed by Alexey Proskuryakov
+
+        Unskip some compositing tests that should pass now.
+
+        * platform/mac-wk2/Skipped:
+
 2012-02-08  Ádám Kallai  <[email protected]>
 
         [Qt] New http/tests/security/ introduced r107046 fail

Modified: releases/WebKitGTK/webkit-1.8/Source/WebCore/ChangeLog (117890 => 117891)


--- releases/WebKitGTK/webkit-1.8/Source/WebCore/ChangeLog	2012-05-22 03:30:43 UTC (rev 117890)
+++ releases/WebKitGTK/webkit-1.8/Source/WebCore/ChangeLog	2012-05-22 03:36:25 UTC (rev 117891)
@@ -1,3 +1,19 @@
+2012-04-02  Simon Fraser  <[email protected]>
+
+        Fix issue with reflections and composited layers
+        https://bugs.webkit.org/show_bug.cgi?id=82636
+
+        Reviewed by Alexey Proskuryakov
+        
+        When tearing down GraphicsLayers which referene eachother via m_replicatedLayer/m_replicaLayer,
+        we need to clean up the replica layer pointers.
+
+        No new tests; tested by existing compositing and repaint tests.
+
+        * platform/graphics/GraphicsLayer.cpp:
+        (WebCore::GraphicsLayer::~GraphicsLayer):
+        (WebCore::GraphicsLayer::setReplicatedByLayer):
+
 2012-02-08  Kentaro Hara  <[email protected]>
 
         Replace [CheckNodeSecurity] with [CheckAccessToNode]

Modified: releases/WebKitGTK/webkit-1.8/Source/WebCore/platform/graphics/GraphicsLayer.cpp (117890 => 117891)


--- releases/WebKitGTK/webkit-1.8/Source/WebCore/platform/graphics/GraphicsLayer.cpp	2012-05-22 03:30:43 UTC (rev 117890)
+++ releases/WebKitGTK/webkit-1.8/Source/WebCore/platform/graphics/GraphicsLayer.cpp	2012-05-22 03:36:25 UTC (rev 117891)
@@ -97,6 +97,9 @@
 GraphicsLayer::~GraphicsLayer()
 {
     ASSERT(!s_inPaintContents);
+    if (m_replicatedLayer)
+        m_replicatedLayer->setReplicatedByLayer(0);
+
     removeAllChildren();
     removeFromParent();
 }
@@ -257,6 +260,12 @@
 
 void GraphicsLayer::setReplicatedByLayer(GraphicsLayer* layer)
 {
+    if (m_replicaLayer == layer)
+        return;
+
+    if (m_replicaLayer)
+        m_replicaLayer->setReplicatedLayer(0);
+
     if (layer)
         layer->setReplicatedLayer(this);
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to