[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198

cmarrin at apple.com cmarrin at apple.com
Sun Feb 20 22:52:50 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit 11962d881142b3cdef887d86e62b506ec089dcac
Author: cmarrin at apple.com <cmarrin at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jan 12 23:06:09 2011 +0000

    2011-01-12  Chris Marrin  <cmarrin at apple.com>
    
            Reviewed by Kevin Decker.
    
            Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
            rdar://problem/8824974
    
            This prevents the rootLayer (with the WebKit rendered content) from going becoming
            a tiled layer when zoomed, and when there is other layered content on the page.
            This speeds up zooming a lot and avoids some buggy behavior in CA with a very large
            number of layers.
    
            * rendering/RenderLayer.cpp:
            (WebCore::RenderLayer::paintsWithTransform):
            * rendering/RenderLayer.h:
            * rendering/RenderLayerBacking.cpp:
            (WebCore::RenderLayerBacking::paintingGoesToWindow):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75643 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index d7b4c77..305e645 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,5 +1,23 @@
 2011-01-12  Chris Marrin  <cmarrin at apple.com>
 
+        Reviewed by Kevin Decker.
+
+        Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
+        rdar://problem/8824974
+
+        This prevents the rootLayer (with the WebKit rendered content) from going becoming
+        a tiled layer when zoomed, and when there is other layered content on the page.
+        This speeds up zooming a lot and avoids some buggy behavior in CA with a very large
+        number of layers.
+        
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::paintsWithTransform):
+        * rendering/RenderLayer.h:
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::paintingGoesToWindow):
+
+2011-01-12  Chris Marrin  <cmarrin at apple.com>
+
         Reviewed by Simon Fraser.
         
         Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp
index 633ce7a..98c7350 100644
--- a/Source/WebCore/rendering/RenderLayer.cpp
+++ b/Source/WebCore/rendering/RenderLayer.cpp
@@ -3480,6 +3480,17 @@ bool RenderLayer::hasCompositedMask() const
 }
 #endif
 
+bool RenderLayer::paintsWithTransform(PaintBehavior paintBehavior) const
+{
+#if USE(ACCELERATED_COMPOSITING)
+    assert(backing());
+    bool paintsToWindow = !isComposited() || backing()->paintingGoesToWindow();
+#else
+    bool paintsToWindow = true;
+#endif    
+    return transform() && ((paintBehavior & PaintBehaviorFlattenCompositingLayers) || paintsToWindow);
+}
+
 void RenderLayer::setParent(RenderLayer* parent)
 {
     if (parent == m_parent)
diff --git a/Source/WebCore/rendering/RenderLayer.h b/Source/WebCore/rendering/RenderLayer.h
index 04fbe3f..55364f1 100644
--- a/Source/WebCore/rendering/RenderLayer.h
+++ b/Source/WebCore/rendering/RenderLayer.h
@@ -441,10 +441,7 @@ public:
         return isTransparent() && ((paintBehavior & PaintBehaviorFlattenCompositingLayers) || !isComposited());
     }
 
-    bool paintsWithTransform(PaintBehavior paintBehavior) const
-    {
-        return transform() && ((paintBehavior & PaintBehaviorFlattenCompositingLayers) || !isComposited());
-    }
+    bool paintsWithTransform(PaintBehavior) const;
 
 private:
     // The normal operator new is disallowed on all render objects.
diff --git a/Source/WebCore/rendering/RenderLayerBacking.cpp b/Source/WebCore/rendering/RenderLayerBacking.cpp
index ddb95c1..e4b2f45 100644
--- a/Source/WebCore/rendering/RenderLayerBacking.cpp
+++ b/Source/WebCore/rendering/RenderLayerBacking.cpp
@@ -943,7 +943,7 @@ FloatPoint RenderLayerBacking::contentsToGraphicsLayerCoordinates(const Graphics
 bool RenderLayerBacking::paintingGoesToWindow() const
 {
     if (m_owningLayer->isRootLayer())
-        return !m_owningLayer->hasTransform() && (compositor()->rootLayerAttachment() != RenderLayerCompositor::RootLayerAttachedViaEnclosingIframe);
+        return compositor()->rootLayerAttachment() != RenderLayerCompositor::RootLayerAttachedViaEnclosingIframe;
     
     return false;
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list