When the FrameView has a non-opaque background color, make sure the TileCache tiles...
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 25 Jan 2013 23:56:07 +0000 (23:56 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 25 Jan 2013 23:56:07 +0000 (23:56 +0000)
https://bugs.webkit.org/show_bug.cgi?id=107989

Reviewed by Dean Jackson.

If a WKView was told to draw a transparent background, make sure that we
set the TileCache tiles to be non-opaque.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateRootLayerConfiguration):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@140873 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderLayerBacking.cpp

index 9659492..3e43b8a 100644 (file)
@@ -1,3 +1,16 @@
+2013-01-25  Simon Fraser  <simon.fraser@apple.com>
+
+        When the FrameView has a non-opaque background color, make sure the TileCache tiles are not opaque
+        https://bugs.webkit.org/show_bug.cgi?id=107989
+
+        Reviewed by Dean Jackson.
+
+        If a WKView was told to draw a transparent background, make sure that we
+        set the TileCache tiles to be non-opaque.
+
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::updateRootLayerConfiguration):
+
 2013-01-25  Alexandre Elias  <aelias@chromium.org>
 
         Call FrameView::contentsResized() when setting fixed layout size
index 576f843..06a60da 100644 (file)
@@ -1324,8 +1324,10 @@ void RenderLayerBacking::updateRootLayerConfiguration()
 
     if (!viewIsTransparent) {
         backgroundColor = frameView->documentBackgroundColor();
-        if (!backgroundColor.isValid() || backgroundColor.hasAlpha())
+        if (!backgroundColor.isValid())
             backgroundColor = Color::white;
+
+        viewIsTransparent = backgroundColor.hasAlpha();
     }
 
     if (m_backgroundLayerPaintsFixedRootBackground && m_backgroundLayer) {