Title: [147178] trunk/Source
Revision
147178
Author
wangxian...@chromium.org
Date
2013-03-28 16:08:43 -0700 (Thu, 28 Mar 2013)

Log Message

[Chromium] Don't create SolidColorLayer for full transparent background
https://bugs.webkit.org/show_bug.cgi?id=113524

Reviewed by James Robinson.

Source/WebCore:

Test: GraphicsLayerChromiumTest.setContentsToSolidColor

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setContentsToSolidColor):

Source/WebKit/chromium:

* tests/GraphicsLayerChromiumTest.cpp:
(GraphicsLayerChromiumTest::setContentsToSolidColor):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (147177 => 147178)


--- trunk/Source/WebCore/ChangeLog	2013-03-28 23:07:04 UTC (rev 147177)
+++ trunk/Source/WebCore/ChangeLog	2013-03-28 23:08:43 UTC (rev 147178)
@@ -1,3 +1,15 @@
+2013-03-28  Xianzhu Wang  <wangxian...@chromium.org>
+
+        [Chromium] Don't create SolidColorLayer for full transparent background
+        https://bugs.webkit.org/show_bug.cgi?id=113524
+
+        Reviewed by James Robinson.
+
+        Test: GraphicsLayerChromiumTest.setContentsToSolidColor
+
+        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+        (WebCore::GraphicsLayerChromium::setContentsToSolidColor):
+
 2013-03-28  Arnaud Renevier  <a.renev...@sisa.samsung.com>
 
         use XMLHttpRequestResponseType enumeration in XMLHttpRequest.idl

Modified: trunk/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp (147177 => 147178)


--- trunk/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp	2013-03-28 23:07:04 UTC (rev 147177)
+++ trunk/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp	2013-03-28 23:08:43 UTC (rev 147178)
@@ -524,7 +524,7 @@
 
     m_contentsSolidColor = color;
 
-    if (color.isValid()) {
+    if (color.isValid() && color.alpha()) {
         if (!m_contentsSolidColorLayer) {
             m_contentsSolidColorLayer = adoptPtr(Platform::current()->compositorSupport()->createSolidColorLayer());
             registerContentsLayer(m_contentsSolidColorLayer->layer());

Modified: trunk/Source/WebKit/chromium/ChangeLog (147177 => 147178)


--- trunk/Source/WebKit/chromium/ChangeLog	2013-03-28 23:07:04 UTC (rev 147177)
+++ trunk/Source/WebKit/chromium/ChangeLog	2013-03-28 23:08:43 UTC (rev 147178)
@@ -1,3 +1,13 @@
+2013-03-28  Xianzhu Wang  <wangxian...@chromium.org>
+
+        [Chromium] Don't create SolidColorLayer for full transparent background
+        https://bugs.webkit.org/show_bug.cgi?id=113524
+
+        Reviewed by James Robinson.
+
+        * tests/GraphicsLayerChromiumTest.cpp:
+        (GraphicsLayerChromiumTest::setContentsToSolidColor):
+
 2013-03-28  Kent Tamura  <tk...@chromium.org>
 
         [Chromium] REGRESSION(r88030): Right-click on invalid form controls unexpectedly dispatches 'invalid' events

Modified: trunk/Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp (147177 => 147178)


--- trunk/Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp	2013-03-28 23:07:04 UTC (rev 147177)
+++ trunk/Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp	2013-03-28 23:08:43 UTC (rev 147178)
@@ -147,4 +147,16 @@
     EXPECT_EQ(scrollPosition, WebPoint(scrollableArea.scrollPosition()));
 }
 
+TEST_F(GraphicsLayerChromiumTest, setContentsToSolidColor)
+{
+    m_graphicsLayer->setContentsToSolidColor(Color::transparent);
+    EXPECT_FALSE(m_graphicsLayer->contentsLayer());
+
+    m_graphicsLayer->setContentsToSolidColor(Color::white);
+    EXPECT_TRUE(m_graphicsLayer->contentsLayer());
+
+    m_graphicsLayer->setContentsToSolidColor(Color());
+    EXPECT_FALSE(m_graphicsLayer->contentsLayer());
+}
+
 } // namespace
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to