[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