[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

andreas.kling at nokia.com andreas.kling at nokia.com
Wed Dec 22 13:21:23 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit e17b50c1e495c5c539982e09c5745f07683fd26d
Author: andreas.kling at nokia.com <andreas.kling at nokia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Sep 12 18:35:58 2010 +0000

    2010-09-12  Andreas Kling  <andreas.kling at nokia.com>
    
            Reviewed by Kenneth Rohde Christiansen.
    
            [Qt] Remove Path::closeSubpath() workaround for broken miter joins
            https://bugs.webkit.org/show_bug.cgi?id=45618
    
            Removed Path::closeCanvasSubpath() and share the logic between Canvas and SVG
            paths. The problem was actually in Qt's path stroker and has been fixed for Qt 4.7.1.
    
            * html/canvas/CanvasRenderingContext2D.cpp:
            (WebCore::CanvasRenderingContext2D::closePath):
            * platform/graphics/Path.h:
            * platform/graphics/qt/PathQt.cpp:
    2010-09-12  Andreas Kling  <andreas.kling at nokia.com>
    
            Reviewed by Kenneth Rohde Christiansen.
    
            [Qt] Remove Path::closeSubpath() workaround for broken miter joins
            https://bugs.webkit.org/show_bug.cgi?id=45618
    
            Skip fast/canvas/canvas-closePath-single-point.html - it can be unskipped again
            once the bot is upgraded to Qt 4.7.1.
    
            * platform/qt/Skipped:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67339 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 23bfe64..fef22eb 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,15 @@
+2010-09-12  Andreas Kling  <andreas.kling at nokia.com>
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        [Qt] Remove Path::closeSubpath() workaround for broken miter joins
+        https://bugs.webkit.org/show_bug.cgi?id=45618
+
+        Skip fast/canvas/canvas-closePath-single-point.html - it can be unskipped again
+        once the bot is upgraded to Qt 4.7.1.
+
+        * platform/qt/Skipped:
+
 2010-09-12  Mihai Parparita  <mihaip at chromium.org>
 
         Reviewed by Dimitri Glazkov.
diff --git a/LayoutTests/platform/qt/Skipped b/LayoutTests/platform/qt/Skipped
index 38c6236..5ae6503 100644
--- a/LayoutTests/platform/qt/Skipped
+++ b/LayoutTests/platform/qt/Skipped
@@ -5439,3 +5439,6 @@ fullscreen/
 
 # https://bugs.webkit.org/show_bug.cgi?id=45194
 fast/text/decomposed-after-stacked-diacritics.html
+
+# Fixed in Qt 4.7.1 - Unskip when buildbot is upgraded.
+fast/canvas/canvas-closePath-single-point.html
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index ad65803..33fcf95 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-09-12  Andreas Kling  <andreas.kling at nokia.com>
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        [Qt] Remove Path::closeSubpath() workaround for broken miter joins
+        https://bugs.webkit.org/show_bug.cgi?id=45618
+
+        Removed Path::closeCanvasSubpath() and share the logic between Canvas and SVG
+        paths. The problem was actually in Qt's path stroker and has been fixed for Qt 4.7.1.
+
+        * html/canvas/CanvasRenderingContext2D.cpp:
+        (WebCore::CanvasRenderingContext2D::closePath):
+        * platform/graphics/Path.h:
+        * platform/graphics/qt/PathQt.cpp:
+
 2010-09-12  Simon Hausmann  <simon.hausmann at nokia.com>
 
         Fix the Gtk and minimal builds.
diff --git a/WebCore/html/canvas/CanvasRenderingContext2D.cpp b/WebCore/html/canvas/CanvasRenderingContext2D.cpp
index 338960c..0fb7ed5 100755
--- a/WebCore/html/canvas/CanvasRenderingContext2D.cpp
+++ b/WebCore/html/canvas/CanvasRenderingContext2D.cpp
@@ -659,7 +659,7 @@ void CanvasRenderingContext2D::closePath()
 
     FloatRect boundRect = m_path.boundingRect();
     if (boundRect.width() || boundRect.height())
-        m_path.closeCanvasSubpath();
+        m_path.closeSubpath();
 }
 
 void CanvasRenderingContext2D::moveTo(float x, float y)
diff --git a/WebCore/platform/graphics/Path.h b/WebCore/platform/graphics/Path.h
index 9896713..61ea328 100644
--- a/WebCore/platform/graphics/Path.h
+++ b/WebCore/platform/graphics/Path.h
@@ -133,11 +133,6 @@ namespace WebCore {
         void addBezierCurveTo(const FloatPoint& controlPoint1, const FloatPoint& controlPoint2, const FloatPoint& endPoint);
         void addArcTo(const FloatPoint&, const FloatPoint&, float radius);
         void closeSubpath();
-#if PLATFORM(QT)
-        void closeCanvasSubpath();
-#else
-        void closeCanvasSubpath() { closeSubpath(); }
-#endif
 
         void addArc(const FloatPoint&, float radius, float startAngle, float endAngle, bool anticlockwise);
         void addRect(const FloatRect&);
diff --git a/WebCore/platform/graphics/qt/PathQt.cpp b/WebCore/platform/graphics/qt/PathQt.cpp
index df54684..48b52a0 100644
--- a/WebCore/platform/graphics/qt/PathQt.cpp
+++ b/WebCore/platform/graphics/qt/PathQt.cpp
@@ -267,30 +267,6 @@ void Path::closeSubpath()
     m_path.closeSubpath();
 }
 
-void Path::closeCanvasSubpath()
-{
-    const int elementCount = m_path.elementCount();
-
-    if (!elementCount)
-        return;
-
-    QPointF lastMoveToPoint = m_path.elementAt(m_lastMoveToIndex);
-    int elementsInLastSubpath = 0;
-
-    for (int i = m_lastMoveToIndex; i < elementCount; ++i) {
-        QPainterPath::Element element = m_path.elementAt(i);
-        if (element.isLineTo() || element.isCurveTo()) {
-            // All we need to know is if there are 1 or more elements in the last subpath.
-            if (++elementsInLastSubpath == 2) {
-                m_path.lineTo(lastMoveToPoint);
-                return;
-            }
-        }
-    }
-
-    moveTo(lastMoveToPoint);
-}
-
 #define DEGREES(t) ((t) * 180.0 / M_PI)
 void Path::addArc(const FloatPoint& p, float r, float sar, float ear, bool anticlockwise)
 {

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list