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

oliver at apple.com oliver at apple.com
Thu Apr 8 00:59:41 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit dec9d4a3d3da8c72f7ded082f1287d7dbe35d49c
Author: oliver at apple.com <oliver at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jan 11 06:53:49 2010 +0000

    Rollout renderpath culling as it once again breaks pixel tests.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53067 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 8762eb5..de3e8f5 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,13 @@
+2010-01-10  Oliver Hunt  <oliver at apple.com>
+
+        Reviewed by NOBODY (Build fix).
+
+        Rollout renderpath culling as it once again breaks pixel tests.
+
+        * rendering/RenderPath.cpp:
+        (WebCore::RenderPath::paint):
+        (WebCore::RenderPath::nodeAtFloatPoint):
+
 2010-01-10  Simon Fraser  <simon.fraser at apple.com>
 
         Reviewed by Darin Adler.
diff --git a/WebCore/rendering/RenderPath.cpp b/WebCore/rendering/RenderPath.cpp
index a2ac331..30cbedf 100644
--- a/WebCore/rendering/RenderPath.cpp
+++ b/WebCore/rendering/RenderPath.cpp
@@ -214,36 +214,32 @@ void RenderPath::paint(PaintInfo& paintInfo, int, int)
 {
     if (paintInfo.context->paintingDisabled() || style()->visibility() == HIDDEN || m_path.isEmpty())
         return;
-    PaintInfo childPaintInfo(paintInfo);
-    childPaintInfo.context->save();
-    applyTransformToPaintInfo(childPaintInfo, m_localTransform);
-    FloatRect boundingBox = repaintRectInLocalCoordinates();
-    if (!boundingBox.intersects(childPaintInfo.rect)) {
-        childPaintInfo.context->restore();
-        return;
-    }
+            
+    paintInfo.context->save();
+    paintInfo.context->concatCTM(localToParentTransform());
 
     SVGResourceFilter* filter = 0;
 
-    if (childPaintInfo.phase == PaintPhaseForeground) {
-        PaintInfo savedInfo(childPaintInfo);
+    FloatRect boundingBox = repaintRectInLocalCoordinates();
+    if (paintInfo.phase == PaintPhaseForeground) {
+        PaintInfo savedInfo(paintInfo);
 
-        if (prepareToRenderSVGContent(this, childPaintInfo, boundingBox, filter)) {
+        if (prepareToRenderSVGContent(this, paintInfo, boundingBox, filter)) {
             if (style()->svgStyle()->shapeRendering() == SR_CRISPEDGES)
-                childPaintInfo.context->setShouldAntialias(false);
-            fillAndStrokePath(m_path, childPaintInfo.context, style(), this);
+                paintInfo.context->setShouldAntialias(false);
+            fillAndStrokePath(m_path, paintInfo.context, style(), this);
 
             if (static_cast<SVGStyledElement*>(node())->supportsMarkers())
-                m_markerLayoutInfo.drawMarkers(childPaintInfo);
+                m_markerLayoutInfo.drawMarkers(paintInfo);
         }
-        finishRenderSVGContent(this, childPaintInfo, filter, savedInfo.context);
+        finishRenderSVGContent(this, paintInfo, filter, savedInfo.context);
     }
 
-    if ((childPaintInfo.phase == PaintPhaseOutline || childPaintInfo.phase == PaintPhaseSelfOutline) && style()->outlineWidth())
-        paintOutline(childPaintInfo.context, static_cast<int>(boundingBox.x()), static_cast<int>(boundingBox.y()),
+    if ((paintInfo.phase == PaintPhaseOutline || paintInfo.phase == PaintPhaseSelfOutline) && style()->outlineWidth())
+        paintOutline(paintInfo.context, static_cast<int>(boundingBox.x()), static_cast<int>(boundingBox.y()),
             static_cast<int>(boundingBox.width()), static_cast<int>(boundingBox.height()), style());
     
-    childPaintInfo.context->restore();
+    paintInfo.context->restore();
 }
 
 // This method is called from inside paintOutline() since we call paintOutline()
@@ -261,7 +257,7 @@ bool RenderPath::nodeAtFloatPoint(const HitTestRequest&, HitTestResult& result,
     if (hitTestAction != HitTestForeground)
         return false;
 
-    FloatPoint localPoint = m_localTransform.inverse().mapPoint(pointInParent);
+    FloatPoint localPoint = localToParentTransform().inverse().mapPoint(pointInParent);
 
     PointerEventsHitRules hitRules(PointerEventsHitRules::SVG_PATH_HITTESTING, style()->pointerEvents());
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list