[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.18-1-697-g2f78b87
eric at webkit.org
eric at webkit.org
Wed Jan 20 22:15:07 UTC 2010
The following commit has been merged in the debian/unstable branch:
commit 633dec1a4f85fe1a04150c8a84993e77e3928e4b
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Jan 7 05:30:26 2010 +0000
2009-10-18 Patrick Gansterer <paroga at paroga.com>
Reviewed by Dirk Schulze.
Improve DOM performance in large SVG files.
Check the dirty area before painting a path, which prevents unnecessary
clipping and changes to the GraphicsContext.
https://bugs.webkit.org/show_bug.cgi?id=30055
* rendering/RenderPath.cpp:
(WebCore::RenderPath::paint):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 36864c2..bd5fe2a 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2009-10-18 Patrick Gansterer <paroga at paroga.com>
+
+ Reviewed by Dirk Schulze.
+
+ Improve DOM performance in large SVG files.
+ Check the dirty area before painting a path, which prevents unnecessary
+ clipping and changes to the GraphicsContext.
+ https://bugs.webkit.org/show_bug.cgi?id=30055
+
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::paint):
+
2010-01-06 Kent Tamura <tkent at chromium.org>
Reviewed by Darin Adler.
diff --git a/WebCore/rendering/RenderPath.cpp b/WebCore/rendering/RenderPath.cpp
index 30cbedf..b1b3e0a 100644
--- a/WebCore/rendering/RenderPath.cpp
+++ b/WebCore/rendering/RenderPath.cpp
@@ -214,13 +214,16 @@ void RenderPath::paint(PaintInfo& paintInfo, int, int)
{
if (paintInfo.context->paintingDisabled() || style()->visibility() == HIDDEN || m_path.isEmpty())
return;
-
+
+ FloatRect boundingBox = repaintRectInLocalCoordinates();
+ if (!boundingBox.intersects(paintInfo.rect))
+ return;
+
paintInfo.context->save();
paintInfo.context->concatCTM(localToParentTransform());
SVGResourceFilter* filter = 0;
- FloatRect boundingBox = repaintRectInLocalCoordinates();
if (paintInfo.phase == PaintPhaseForeground) {
PaintInfo savedInfo(paintInfo);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list