[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

eric at webkit.org eric at webkit.org
Thu Apr 8 00:56:39 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit e0e5c58f9b5ed1792b99be832c601eb9f57ee84c
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