compositing/reflections/become-simple-composited-reflection.html pixel result shows bug
https://bugs.webkit.org/show_bug.cgi?id=107174

Reviewed by Dean Jackson.

When we have a content layer for solid color, we need to update reflection
clones when that color changes.

Tested by the pixel test for compositing/reflections/become-simple-composited-reflection.html.

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateContentsColorLayer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 6521298..f077e6a 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2013-01-28  Simon Fraser  <simon.fraser@apple.com>
+
+        compositing/reflections/become-simple-composited-reflection.html pixel result shows bug
+        https://bugs.webkit.org/show_bug.cgi?id=107174
+
+        Reviewed by Dean Jackson.
+        
+        When we have a content layer for solid color, we need to update reflection
+        clones when that color changes.
+
+        Tested by the pixel test for compositing/reflections/become-simple-composited-reflection.html.
+
+        * platform/graphics/ca/GraphicsLayerCA.cpp:
+        (WebCore::GraphicsLayerCA::updateContentsColorLayer):
+
 2013-01-28  Tom Sepez  <tsepez@chromium.org>
 
         [v8] Security feature: JavaScript Bindings hardening
diff --git a/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp b/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
index fe7b9ea..4537068 100644
--- a/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
+++ b/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
@@ -1674,6 +1674,12 @@
         updateContentsRect();
         ASSERT(m_contentsSolidColor.isValid()); // An invalid color should have removed the contents layer.
         m_contentsLayer->setBackgroundColor(m_contentsSolidColor);
+
+        if (m_contentsLayerClones) {
+            LayerMap::const_iterator end = m_contentsLayerClones->end();
+            for (LayerMap::const_iterator it = m_contentsLayerClones->begin(); it != end; ++it)
+                it->value->setBackgroundColor(m_contentsSolidColor);
+        }
     }
 }