Title: [167739] trunk/Source/WebKit2
Revision
167739
Author
simon.fra...@apple.com
Date
2014-04-23 20:31:28 -0700 (Wed, 23 Apr 2014)

Log Message

Nonopaque layers double-paint with UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=132101

Reviewed by Tim Horton.

The non-IOSurface code path was failing to clear the backing store
before painting.

* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::drawInContext):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (167738 => 167739)


--- trunk/Source/WebKit2/ChangeLog	2014-04-24 02:37:05 UTC (rev 167738)
+++ trunk/Source/WebKit2/ChangeLog	2014-04-24 03:31:28 UTC (rev 167739)
@@ -1,3 +1,17 @@
+2014-04-23  Simon Fraser  <simon.fra...@apple.com>
+
+        Nonopaque layers double-paint with UI-side compositing
+        https://bugs.webkit.org/show_bug.cgi?id=132101
+
+        Reviewed by Tim Horton.
+        
+        The non-IOSurface code path was failing to clear the backing store
+        before painting.
+
+        * Shared/mac/RemoteLayerBackingStore.mm:
+        (WebKit::RemoteLayerBackingStore::display):
+        (WebKit::RemoteLayerBackingStore::drawInContext):
+
 2014-04-23  Benjamin Poulain  <bpoul...@apple.com>
 
         [iOS][WK2] Image and text documents sometime gets the webpage viewport configuration

Modified: trunk/Source/WebKit2/Shared/mac/RemoteLayerBackingStore.mm (167738 => 167739)


--- trunk/Source/WebKit2/Shared/mac/RemoteLayerBackingStore.mm	2014-04-24 02:37:05 UTC (rev 167738)
+++ trunk/Source/WebKit2/Shared/mac/RemoteLayerBackingStore.mm	2014-04-24 03:31:28 UTC (rev 167739)
@@ -212,14 +212,6 @@
 
         GraphicsContext& context = m_frontSurface->ensureGraphicsContext();
 
-        if (!m_isOpaque)
-            context.clearRect(expandedScaledLayerBounds);
-
-#ifndef NDEBUG
-        if (m_isOpaque)
-            context.fillRect(expandedScaledLayerBounds, Color(255, 0, 0), ColorSpaceDeviceRGB);
-#endif
-
         context.scale(FloatSize(1, -1));
         context.translate(0, -expandedScaledSize.height());
         drawInContext(context, backImage.get());
@@ -251,6 +243,14 @@
     IntRect layerBounds(IntPoint(), m_size);
     IntRect scaledLayerBounds(IntPoint(), expandedIntSize(m_size * m_scale));
 
+    if (!m_isOpaque)
+        context.clearRect(scaledLayerBounds);
+
+#ifndef NDEBUG
+    if (m_isOpaque)
+        context.fillRect(scaledLayerBounds, Color(255, 0, 0), ColorSpaceDeviceRGB);
+#endif
+
     CGContextRef cgContext = context.platformContext();
 
     // If we have less than webLayerMaxRectsToPaint rects to paint and they cover less
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to