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

krit at webkit.org krit at webkit.org
Thu Apr 8 01:03:55 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit e00beebaa897c5325c7a7d8741231cab327776c2
Author: krit at webkit.org <krit at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jan 13 22:42:06 2010 +0000

    2010-01-13  Dirk Schulze  <krit at webkit.org>
    
            Reviewed by Beth Dakin.
    
            Repaint bug dragging a star shape with a dash stroke
            https://bugs.webkit.org/show_bug.cgi?id=33406
    
            Calculation of repaint rects for RenderPath objects was wrong. We must take the
            union of strokeBoundingBox and objectBoundingBox, since the strokeBoundingBox
            must not contain the objectBoundingBox. This is mainly visible on dash-arrays for
            strokes.
    
            Test: svg/custom/js-repaint-rect-on-path-with-stroke.svg
    
            * rendering/RenderPath.cpp:
            (WebCore::RenderPath::strokeBoundingBox):
    
    2010-01-13  Dirk Schulze  <krit at webkit.org>
    
            Reviewed by Beth Dakin.
    
            Repaint bug dragging a star shape with a dash stroke
            https://bugs.webkit.org/show_bug.cgi?id=33406
    
            Calculation of repaint rects for RenderPath objects was fixed. We take the
            union of strokeBoundingBox and objectBoundingBox. Since DRT results depend
            on the repaint rect, many results needed an update.
            Added a new test, that makes the wrong calculation visible.
                * js-repaint-rect-on-path-with-stroke.svg
    
            * platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum
            * platform/mac/fast/repaint/moving-shadow-on-container-expected.txt
            * platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum
            * platform/mac/fast/repaint/moving-shadow-on-path-expected.txt
            * platform/mac/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
            * platform/mac/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
            * platform/mac/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
            * platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt:
            * platform/mac/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
            * platform/mac/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
            * platform/mac/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt:
            * platform/mac/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:
            * platform/mac/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt:
            * platform/mac/svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
            * platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
            * platform/mac/svg/batik/text/textOnPath-expected.txt:
            * platform/mac/svg/batik/text/textOnPathSpaces-expected.txt:
            * platform/mac/svg/batik/text/verticalText-expected.txt:
            * platform/mac/svg/batik/text/verticalTextOnPath-expected.txt:
            * platform/mac/svg/css/composite-shadow-example-expected.txt:
            * platform/mac/svg/css/composite-shadow-with-opacity-expected.txt:
            * platform/mac/svg/custom/animate-path-morphing-expected.txt:
            * platform/mac/svg/custom/control-points-for-S-and-T-expected.txt:
            * platform/mac/svg/custom/dasharrayOrigin-expected.txt:
            * platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.checksum: Added.
            * platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.png: Added.
            * platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.txt: Added.
            * platform/mac/svg/custom/path-textPath-simulation-expected.txt:
            * platform/mac/svg/text/text-path-01-b-expected.txt:
            * svg/custom/js-repaint-rect-on-path-with-stroke.svg: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53207 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 3d7ca85..514e80b 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,47 @@
+2010-01-13  Dirk Schulze  <krit at webkit.org>
+
+        Reviewed by Beth Dakin.
+
+        Repaint bug dragging a star shape with a dash stroke
+        https://bugs.webkit.org/show_bug.cgi?id=33406
+
+        Calculation of repaint rects for RenderPath objects was fixed. We take the
+        union of strokeBoundingBox and objectBoundingBox. Since DRT results depend
+        on the repaint rect, many results needed an update.
+        Added a new test, that makes the wrong calculation visible.
+            * js-repaint-rect-on-path-with-stroke.svg
+
+        * platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum
+        * platform/mac/fast/repaint/moving-shadow-on-container-expected.txt
+        * platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum
+        * platform/mac/fast/repaint/moving-shadow-on-path-expected.txt
+        * platform/mac/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
+        * platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
+        * platform/mac/svg/batik/text/textOnPath-expected.txt:
+        * platform/mac/svg/batik/text/textOnPathSpaces-expected.txt:
+        * platform/mac/svg/batik/text/verticalText-expected.txt:
+        * platform/mac/svg/batik/text/verticalTextOnPath-expected.txt:
+        * platform/mac/svg/css/composite-shadow-example-expected.txt:
+        * platform/mac/svg/css/composite-shadow-with-opacity-expected.txt:
+        * platform/mac/svg/custom/animate-path-morphing-expected.txt:
+        * platform/mac/svg/custom/control-points-for-S-and-T-expected.txt:
+        * platform/mac/svg/custom/dasharrayOrigin-expected.txt:
+        * platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.checksum: Added.
+        * platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.png: Added.
+        * platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.txt: Added.
+        * platform/mac/svg/custom/path-textPath-simulation-expected.txt:
+        * platform/mac/svg/text/text-path-01-b-expected.txt:
+        * svg/custom/js-repaint-rect-on-path-with-stroke.svg: Added.
+
 2010-01-13  Brian Weinstein  <bweinstein at apple.com>
 
         Reviewed by Adam Roben.
diff --git a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum
index 1b766bc..8f6344f 100644
--- a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum
@@ -1 +1 @@
-3ca6e374e016a9889dbdfbf0c0721ed0
\ No newline at end of file
+3388527c85ca52bfb34b33d849f4b20c
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.txt b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.txt
index 69e1c4e..bbf8f44 100644
--- a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.txt
+++ b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.txt
@@ -3,7 +3,7 @@ layer at (0,0) size 785x616
 layer at (0,0) size 785x616
   RenderBlock {HTML} at (0,0) size 785x616
     RenderBody {BODY} at (8,8) size 769x600
-      RenderSVGRoot {svg} at (-59.81,-63.30) size 513.43x223.61
+      RenderSVGRoot {svg} at (-59.81,-63.30) size 515.36x223.61
         RenderPath {path} at (-59.81,-63.30) size 135.62x128.98 [stroke={[type=SOLID] [color=#000000] [stroke width=10.00]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,30.00 L-35.27,48.54 L-28.53,9.27 L-57.06,-18.54 L-17.63,-24.27 L-0.00,-60.00 L17.63,-24.27 L57.06,-18.54 L28.53,9.27 L35.27,48.54 Z"]
         RenderPath {path} at (200.68,46.49) size 117.09x113.83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,100.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=10.00] [dash array={20.00}]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,30.00 L-35.27,48.54 L-28.53,9.27 L-57.06,-18.54 L-17.63,-24.27 L-0.00,-60.00 L17.63,-24.27 L57.06,-18.54 L28.53,9.27 L35.27,48.54 Z"]
-        RenderPath {path} at (349.70,46.70) size 103.91x110.89 [transform={m=((1.00,0.00)(0.00,1.00)) t=(400.00,100.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=10.00] [dash array={20.00}]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,25.00 L-29.39,40.45 L-23.78,7.73 L-47.55,-15.45 L-14.69,-20.23 L-0.00,-50.00 L14.69,-20.23 L47.55,-15.45 L23.78,7.73 L29.39,40.45 Z"]
+        RenderPath {path} at (349.70,46.70) size 105.85x110.89 [transform={m=((1.00,0.00)(0.00,1.00)) t=(400.00,100.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=10.00] [dash array={20.00}]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,25.00 L-29.39,40.45 L-23.78,7.73 L-47.55,-15.45 L-14.69,-20.23 L-0.00,-50.00 L14.69,-20.23 L47.55,-15.45 L23.78,7.73 L29.39,40.45 Z"]
diff --git a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum
index d2e261d..8f6344f 100644
--- a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum
@@ -1 +1 @@
-0aa74bbf236c8e7af7e41dd1b54daa2e
\ No newline at end of file
+3388527c85ca52bfb34b33d849f4b20c
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.txt b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.txt
index 69e1c4e..bbf8f44 100644
--- a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.txt
+++ b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.txt
@@ -3,7 +3,7 @@ layer at (0,0) size 785x616
 layer at (0,0) size 785x616
   RenderBlock {HTML} at (0,0) size 785x616
     RenderBody {BODY} at (8,8) size 769x600
-      RenderSVGRoot {svg} at (-59.81,-63.30) size 513.43x223.61
+      RenderSVGRoot {svg} at (-59.81,-63.30) size 515.36x223.61
         RenderPath {path} at (-59.81,-63.30) size 135.62x128.98 [stroke={[type=SOLID] [color=#000000] [stroke width=10.00]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,30.00 L-35.27,48.54 L-28.53,9.27 L-57.06,-18.54 L-17.63,-24.27 L-0.00,-60.00 L17.63,-24.27 L57.06,-18.54 L28.53,9.27 L35.27,48.54 Z"]
         RenderPath {path} at (200.68,46.49) size 117.09x113.83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,100.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=10.00] [dash array={20.00}]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,30.00 L-35.27,48.54 L-28.53,9.27 L-57.06,-18.54 L-17.63,-24.27 L-0.00,-60.00 L17.63,-24.27 L57.06,-18.54 L28.53,9.27 L35.27,48.54 Z"]
-        RenderPath {path} at (349.70,46.70) size 103.91x110.89 [transform={m=((1.00,0.00)(0.00,1.00)) t=(400.00,100.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=10.00] [dash array={20.00}]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,25.00 L-29.39,40.45 L-23.78,7.73 L-47.55,-15.45 L-14.69,-20.23 L-0.00,-50.00 L14.69,-20.23 L47.55,-15.45 L23.78,7.73 L29.39,40.45 Z"]
+        RenderPath {path} at (349.70,46.70) size 105.85x110.89 [transform={m=((1.00,0.00)(0.00,1.00)) t=(400.00,100.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=10.00] [dash array={20.00}]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,25.00 L-29.39,40.45 L-23.78,7.73 L-47.55,-15.45 L-14.69,-20.23 L-0.00,-50.00 L14.69,-20.23 L47.55,-15.45 L23.78,7.73 L29.39,40.45 Z"]
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt
index 915f1c9..5440c86 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt
@@ -9,8 +9,8 @@ layer at (0,0) size 480x360
       RenderSVGText {text} at (11,18) size 49x9 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-7) size 49x9
           chunk 1 text run 1 at (11.00,18.00) startOffset 0 endOffset 17 width 49.00: "'path' attribute."
-      RenderSVGContainer {g} at (42,135) size 420x177
-        RenderPath {path} at (87.78,154.48) size 303.44x105.55 [stroke={[type=SOLID] [color=#000000]}] [data="M15.00,43.00 C15.00,43.00,36.00,20.00,65.00,33.00"]
+      RenderSVGContainer {g} at (42,120) size 420x192
+        RenderPath {path} at (87.78,120) size 303.44x140.02 [stroke={[type=SOLID] [color=#000000]}] [data="M15.00,43.00 C15.00,43.00,36.00,20.00,65.00,33.00"]
         RenderPath {rect} at (57,195) size 66x66 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M10.00,33.00 L20.00,33.00 L20.00,43.00 L10.00,43.00 Z"]
         RenderSVGText {text} at (7,50) size 20x9 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,-7) size 20x9
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt
index 5abf074..e370c9d 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt
@@ -9,8 +9,8 @@ layer at (0,0) size 480x360
       RenderSVGText {text} at (10,18) size 56x9 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-7) size 56x9
           chunk 1 text run 1 at (10.00,18.00) startOffset 0 endOffset 16 width 56.00: "'mpath' element."
-      RenderSVGContainer {g} at (42,135) size 420x177
-        RenderPath {path} at (87.78,154.48) size 303.44x105.55 [stroke={[type=SOLID] [color=#000000]}] [data="M15.00,43.00 C15.00,43.00,36.00,20.00,65.00,33.00"]
+      RenderSVGContainer {g} at (42,120) size 420x192
+        RenderPath {path} at (87.78,120) size 303.44x140.02 [stroke={[type=SOLID] [color=#000000]}] [data="M15.00,43.00 C15.00,43.00,36.00,20.00,65.00,33.00"]
         RenderPath {rect} at (57,195) size 66x66 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M10.00,33.00 L20.00,33.00 L20.00,43.00 L10.00,43.00 Z"]
         RenderSVGText {text} at (7,50) size 20x9 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,-7) size 20x9
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt
index 16b9d1c..b8df96b 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt
@@ -6,8 +6,8 @@ layer at (0,0) size 480x360
       RenderSVGText {text} at (87,25) size 276x16 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-13) size 276x16
           chunk 1 (middle anchor) text run 1 at (87.50,25.00) startOffset 0 endOffset 44 width 275.00: "Test rotate='auto' and rotate='auto-reverse'"
-      RenderSVGContainer {g} at (8,167.10) size 437x95.90
-        RenderPath {path} at (24,167.10) size 151.71x57.90 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [data="M25.00,225.00 C25.00,175.00,125.00,150.00,175.00,200.00"]
+      RenderSVGContainer {g} at (8,150) size 437x113
+        RenderPath {path} at (24,150) size 151.71x75 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [data="M25.00,225.00 C25.00,175.00,125.00,150.00,175.00,200.00"]
         RenderPath {rect} at (8,193) size 34x34 [stroke={[type=SOLID] [color=#000000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M10.00,195.00 L40.00,195.00 L40.00,225.00 L10.00,225.00 Z"]
         RenderSVGText {text} at (9,240) size 32x14 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,-11) size 32x14
@@ -20,7 +20,7 @@ layer at (0,0) size 480x360
         RenderSVGText {text} at (60,260) size 80x16 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,-13) size 80x16
             chunk 1 (middle anchor) text run 1 at (60.50,260.00) startOffset 0 endOffset 13 width 79.00: "rotate='auto'"
-        RenderPath {path} at (274,167.10) size 151.71x57.90 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [data="M275.00,225.00 C275.00,175.00,375.00,150.00,425.00,200.00"]
+        RenderPath {path} at (274,150) size 151.71x75 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [data="M275.00,225.00 C275.00,175.00,375.00,150.00,425.00,200.00"]
         RenderPath {rect} at (258,193) size 34x34 [stroke={[type=SOLID] [color=#000000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFCCCC]}] [data="M260.00,195.00 L290.00,195.00 L290.00,225.00 L260.00,225.00 Z"]
         RenderSVGText {text} at (259,240) size 32x14 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,-11) size 32x14
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt
index d3706c4..1bc87d2 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt
@@ -14,25 +14,25 @@ layer at (0,0) size 480x360
         RenderPath {circle} at (-41.00,-41.00) size 82.00x82.00 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=2.00]}] [data="M40.00,0.00 L39.92,2.51 L39.68,5.01 L39.29,7.50 L38.74,9.95 L38.04,12.36 L37.19,14.72 L36.19,17.03 L35.05,19.27 L33.77,21.43 L32.36,23.51 L30.82,25.50 L29.16,27.38 L27.38,29.16 L25.50,30.82 L23.51,32.36 L21.43,33.77 L19.27,35.05 L17.03,36.19 L14.72,37.19 L12.36,38.04 L9.95,38.74 L7.50,39.29 L5.01,39.68 L2.51,39.92 L-0.00,40.00 L-2.51,39.92 L-5.01,39.68 L-7.50,39.29 L-9.95,38.74 L-12.36,38.04 L-14.72,37.19 L-17.03,36.19 L-19.27,35.05 L-21.43,33.77 L-23.51,32.36 L-25.50,30.82 L-27.38,29.16 L-29.16,27.38 L-30.82,25.50 L-32.36,23.51 L-33.77,21.43 L-35.05,19.27 L-36.19,17.03 L-37.19,14.72 L-38.04,12.36 L-38.74,9.95 L-39.29,7.50 L-39.68,5.01 L-39.92,2.51 L-40.00,-0.00 L-39.92,-2.51 L-39.68,-5.01 L-39.29,-7.50 L-38.74,-9.95 L-38.04,-12.36 L-37.19,-14.72 L-36.19,-17.03 L-35.05,-19.27 L-33.77,-21.43 L-32.36,-23.51 L-30.82,-25.50 L-29.16,-27.38 L-27.38,-29.16 L-25.50,-30.82 L-23.51,-32.36 L-21.43,-33.77 L-19.27,-35.05 L-17.03,-36.19 L-14.72,-37.19 L-12.36,-38.04 L-9.95,-38.74 L-7.50,-39.29 L-5.01,-39.68 L-2.51,-39.92 L0.00,-40.00 L2.51,-39.92 L5.01,-39.68 L7.50,-39.29 L9.95,-38.74 L12.36,-38.04 L14.72,-37.19 L17.03,-36.19 L19.27,-35.05 L21.43,-33.77 L23.51,-32.36 L25.50,-30.82 L27.38,-29.16 L29.16,-27.38 L30.82,-25.50 L32.36,-23.51 L33.77,-21.43 L35.05,-19.27 L36.19,-17.03 L37.19,-14.72 L38.04,-12.36 L38.74,-9.95 L39.29,-7.50 L39.68,-5.01 L39.92,-2.51 Z"]
         RenderPath {line} at (-45,-0.50) size 90x1 [stroke={[type=SOLID] [color=#C0C0C0]}] [data="M-45.00,0.00 L45.00,0.00"]
         RenderPath {line} at (-0.50,-45) size 1x90 [stroke={[type=SOLID] [color=#C0C0C0]}] [data="M0.00,-45.00 L0.00,45.00"]
-    RenderSVGContainer {g} at (51,45) size 378x249
-      RenderSVGContainer {g} at (51,62.68) size 138x91.32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,90.00)}]
+    RenderSVGContainer {g} at (51,40) size 378x254
+      RenderSVGContainer {g} at (51,40) size 138x114 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,90.00)}]
         RenderPath {path} at (105,75) size 30x30 [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-15.00,0.00 C-15.00,0.00,0.00,-15.00,0.00,-15.00 C0.00,-15.00,15.00,0.00,15.00,0.00 C15.00,0.00,0.00,15.00,0.00,15.00 C0.00,15.00,-15.00,0.00,-15.00,0.00 Z"]
         RenderPath {path} at (104.29,74.29) size 31.41x31.41 [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,0.00 C-15.00,0.00,0.00,-15.00,0.00,-15.00 C0.00,-15.00,15.00,0.00,15.00,0.00 C15.00,0.00,0.00,15.00,0.00,15.00 C0.00,15.00,-15.00,0.00,-15.00,0.00 Z"]
-        RenderPath {path} at (92.68,62.68) size 54.64x54.64 [stroke={[type=SOLID] [color=#FFB400]}] [data="M0.00,0.00 C-50.00,-15.00,-15.00,-50.00,0.00,0.00 C15.00,-50.00,50.00,-15.00,0.00,0.00 C50.00,15.00,15.00,50.00,0.00,0.00 C-15.00,50.00,-50.00,15.00,0.00,0.00 Z"]
+        RenderPath {path} at (70,40) size 100x100 [stroke={[type=SOLID] [color=#FFB400]}] [data="M0.00,0.00 C-50.00,-15.00,-15.00,-50.00,0.00,0.00 C15.00,-50.00,50.00,-15.00,0.00,0.00 C50.00,15.00,15.00,50.00,0.00,0.00 C-15.00,50.00,-50.00,15.00,0.00,0.00 Z"]
         RenderSVGText {text} at (-69,60) size 138x18 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,-14) size 138x18
             chunk 1 (middle anchor) text run 1 at (-68.50,60.00) startOffset 0 endOffset 21 width 137.00: "#1: from-to animation"
-      RenderSVGContainer {g} at (189,62.68) size 102x91.32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(240.00,90.00)}]
+      RenderSVGContainer {g} at (189,40) size 102x114 [transform={m=((1.00,0.00)(0.00,1.00)) t=(240.00,90.00)}]
         RenderPath {path} at (225,75) size 30x30 [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-15.00,0.00 C-15.00,0.00,0.00,-15.00,0.00,-15.00 C0.00,-15.00,15.00,0.00,15.00,0.00 C15.00,0.00,0.00,15.00,0.00,15.00 C0.00,15.00,-15.00,0.00,-15.00,0.00 Z"]
         RenderPath {path} at (224.29,74.29) size 31.41x31.41 [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,0.00 C-15.00,0.00,0.00,-15.00,0.00,-15.00 C0.00,-15.00,15.00,0.00,15.00,0.00 C15.00,0.00,0.00,15.00,0.00,15.00 C0.00,15.00,-15.00,0.00,-15.00,0.00 Z"]
-        RenderPath {path} at (212.68,62.68) size 54.64x54.64 [stroke={[type=SOLID] [color=#FFB400]}] [data="M0.00,0.00 C-50.00,-15.00,-15.00,-50.00,0.00,0.00 C15.00,-50.00,50.00,-15.00,0.00,0.00 C50.00,15.00,15.00,50.00,0.00,0.00 C-15.00,50.00,-50.00,15.00,0.00,0.00 Z"]
+        RenderPath {path} at (190,40) size 100x100 [stroke={[type=SOLID] [color=#FFB400]}] [data="M0.00,0.00 C-50.00,-15.00,-15.00,-50.00,0.00,0.00 C15.00,-50.00,50.00,-15.00,0.00,0.00 C50.00,15.00,15.00,50.00,0.00,0.00 C-15.00,50.00,-50.00,15.00,0.00,0.00 Z"]
         RenderSVGText {text} at (-51,60) size 102x18 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,-14) size 102x18
             chunk 1 (middle anchor) text run 1 at (-51.00,60.00) startOffset 0 endOffset 16 width 102.00: "#2: to animation"
-      RenderSVGContainer {g} at (295,45) size 130x109 [transform={m=((1.00,0.00)(0.00,1.00)) t=(360.00,90.00)}]
+      RenderSVGContainer {g} at (295,40) size 130x114 [transform={m=((1.00,0.00)(0.00,1.00)) t=(360.00,90.00)}]
         RenderPath {path} at (345,75) size 30x30 [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-15.00,0.00 C-15.00,0.00,0.00,-15.00,0.00,-15.00 C0.00,-15.00,15.00,0.00,15.00,0.00 C15.00,0.00,0.00,15.00,0.00,15.00 C0.00,15.00,-15.00,0.00,-15.00,0.00 Z"]
         RenderPath {path} at (344.29,74.29) size 31.41x31.41 [stroke={[type=SOLID] [color=#FFB400]}] [data="M-15.00,0.00 C-15.00,0.00,0.00,-15.00,0.00,-15.00 C0.00,-15.00,15.00,0.00,15.00,0.00 C15.00,0.00,0.00,15.00,0.00,15.00 C0.00,15.00,-15.00,0.00,-15.00,0.00 Z"]
-        RenderPath {path} at (332.68,62.68) size 54.64x54.64 [stroke={[type=SOLID] [color=#FFB400]}] [data="M0.00,0.00 C-50.00,-15.00,-15.00,-50.00,0.00,0.00 C15.00,-50.00,50.00,-15.00,0.00,0.00 C50.00,15.00,15.00,50.00,0.00,0.00 C-15.00,50.00,-50.00,15.00,0.00,0.00 Z"]
+        RenderPath {path} at (310,40) size 100x100 [stroke={[type=SOLID] [color=#FFB400]}] [data="M0.00,0.00 C-50.00,-15.00,-15.00,-50.00,0.00,0.00 C15.00,-50.00,50.00,-15.00,0.00,0.00 C50.00,15.00,15.00,50.00,0.00,0.00 C-15.00,50.00,-50.00,15.00,0.00,0.00 Z"]
         RenderPath {path} at (315,45) size 90x90 [stroke={[type=SOLID] [color=#FFB400]}] [data="M-45.00,0.00 C-15.00,0.00,0.00,-15.00,0.00,-45.00 C0.00,-15.00,15.00,0.00,45.00,0.00 C15.00,0.00,0.00,15.00,0.00,45.00 C0.00,15.00,-15.00,0.00,-45.00,0.00 Z"]
         RenderSVGText {text} at (-65,60) size 130x18 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,-14) size 130x18
@@ -52,7 +52,7 @@ layer at (0,0) size 480x360
             chunk 1 (middle anchor) text run 1 at (-40.00,90.00) startOffset 0 endOffset 12 width 80.00: "L/l segments"
       RenderSVGContainer {g} at (171,179.50) size 138x114.50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(240.00,200.00)}]
         RenderPath {path} at (220,180) size 40x80 [fill={[type=SOLID] [color=#E6E6E6]}] [data="M-20.00,-20.00 C20.00,-20.00,20.00,-20.00,20.00,20.00 C20.00,60.00,20.00,40.00,-20.00,20.00 Z"]
-        RenderPath {path} at (219.50,179.50) size 41x64.89 [stroke={[type=SOLID] [color=#FFB400]}] [data="M-20.00,-20.00 C20.00,-20.00,20.00,-20.00,20.00,20.00 C20.00,60.00,20.00,40.00,-20.00,20.00 Z"]
+        RenderPath {path} at (219.50,179.50) size 41x80.50 [stroke={[type=SOLID] [color=#FFB400]}] [data="M-20.00,-20.00 C20.00,-20.00,20.00,-20.00,20.00,20.00 C20.00,60.00,20.00,40.00,-20.00,20.00 Z"]
         RenderPath {path} at (219.50,179.50) size 81.11x41 [stroke={[type=SOLID] [color=#FFB400]}] [data="M-20.00,-20.00 C-20.00,20.00,-20.00,20.00,20.00,20.00 C60.00,20.00,60.00,20.00,20.00,-20.00 Z"]
         RenderSVGText {text} at (-69,60) size 138x18 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,-14) size 138x18
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt
index 1e719ce..1c362cd 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt
@@ -41,7 +41,7 @@ layer at (0,0) size 480x360
             RenderPath {path} at (125.27,184.80) size 18.46x9.97 [fill={[type=SOLID] [color=#000000]}] [data="M117.50,154.00 C114.47,156.28,107.29,158.54,104.39,159.40 C105.04,160.43,105.67,161.40,106.26,162.31 C112.61,160.35,117.39,157.54,119.77,155.96 C119.04,155.33,118.28,154.68,117.50,154.00 Z"]
             RenderPath {path} at (109.36,160.51) size 9.84x6.08 [fill={[type=SOLID] [color=#000000]}] [data="M99.33,135.91 C98.75,135.16,98.24,134.44,97.80,133.76 C95.47,135.26,91.14,136.76,91.14,136.76 C91.31,137.28,91.62,137.98,92.04,138.83 C94.80,138.82,97.02,138.05,99.33,135.91 Z"]
             RenderPath {path} at (73.96,43.26) size 12.15x10.35 [fill={[type=SOLID] [color=#000000]}] [data="M66.39,44.68 C68.51,42.93,71.76,40.43,71.51,37.43 L70.26,36.80 L70.14,36.05 C65.01,39.30,62.39,40.43,61.64,41.05 C62.51,42.93,64.14,42.43,64.14,42.43 C66.26,41.30,68.14,40.05,68.14,40.05 C66.26,42.18,65.64,43.18,65.64,43.18 C65.64,43.18,65.51,44.05,66.39,44.68 Z"]
-      RenderSVGContainer {g} at (194.83,50.21) size 44.74x32.81 [transform={m=((0.04,-0.02)(0.02,0.04)) t=(153.00,58.00)}]
+      RenderSVGContainer {g} at (194.83,50.21) size 44.95x33.21 [transform={m=((0.04,-0.02)(0.02,0.04)) t=(153.00,58.00)}]
         RenderSVGContainer {g} at (194.83,50.21) size 41.80x27.04
           RenderPath {ellipse} at (197.77,73.78) size 3.95x3.48 [stroke={[type=SOLID] [color=#426942]}] [fill={[type=SOLID] [color=#73BF73]}] [data="M222.00,210.00 L221.95,211.13 L221.79,212.26 L221.52,213.37 L221.15,214.48 L220.68,215.56 L220.10,216.63 L219.43,217.66 L218.66,218.67 L217.80,219.64 L216.84,220.58 L215.80,221.47 L214.68,222.32 L213.48,223.12 L212.21,223.87 L210.87,224.56 L209.47,225.20 L208.01,225.77 L206.50,226.29 L204.94,226.74 L203.34,227.12 L201.71,227.43 L200.06,227.68 L198.38,227.86 L196.70,227.96 L195.00,228.00 L193.30,227.96 L191.62,227.86 L189.94,227.68 L188.29,227.43 L186.66,227.12 L185.06,226.74 L183.50,226.29 L181.99,225.77 L180.53,225.20 L179.13,224.56 L177.79,223.87 L176.52,223.12 L175.32,222.32 L174.20,221.47 L173.16,220.58 L172.20,219.64 L171.34,218.67 L170.57,217.66 L169.90,216.63 L169.32,215.56 L168.85,214.48 L168.48,213.37 L168.21,212.26 L168.05,211.13 L168.00,210.00 L168.05,208.87 L168.21,207.74 L168.48,206.63 L168.85,205.52 L169.32,204.44 L169.90,203.37 L170.57,202.34 L171.34,201.33 L172.20,200.36 L173.16,199.42 L174.20,198.53 L175.32,197.68 L176.52,196.88 L177.79,196.13 L179.13,195.44 L180.53,194.80 L181.99,194.23 L183.50,193.71 L185.06,193.26 L186.66,192.88 L188.29,192.57 L189.94,192.32 L191.62,192.14 L193.30,192.04 L195.00,192.00 L196.70,192.04 L198.38,192.14 L200.06,192.32 L201.71,192.57 L203.34,192.88 L204.94,193.26 L206.50,193.71 L208.01,194.23 L209.47,194.80 L210.87,195.44 L212.21,196.13 L213.48,196.88 L214.68,197.68 L215.80,198.53 L216.84,199.42 L217.80,200.36 L218.66,201.33 L219.43,202.34 L220.10,203.37 L220.68,204.44 L221.15,205.52 L221.52,206.63 L221.79,207.74 L221.95,208.87 Z"]
           RenderPath {ellipse} at (208.30,50.35) size 25.12x14.27 [stroke={[type=SOLID] [color=#426942]}] [fill={[type=SOLID] [color=#73BF73]}] [data="M870.00,102.00 L869.56,103.13 L868.23,104.26 L866.01,105.37 L862.93,106.48 L858.99,107.56 L854.20,108.63 L848.59,109.66 L842.17,110.67 L834.97,111.64 L827.03,112.58 L818.37,113.47 L809.02,114.32 L799.02,115.12 L788.42,115.87 L777.25,116.56 L765.56,117.20 L753.39,117.77 L740.80,118.29 L727.83,118.74 L714.53,119.12 L700.96,119.43 L687.16,119.68 L673.20,119.86 L659.13,119.96 L645.00,120.00 L630.87,119.96 L616.80,119.86 L602.84,119.68 L589.04,119.43 L575.47,119.12 L562.17,118.74 L549.20,118.29 L536.61,117.77 L524.44,117.20 L512.75,116.56 L501.58,115.87 L490.98,115.12 L480.98,114.32 L471.63,113.47 L462.97,112.58 L455.03,111.64 L447.83,110.67 L441.41,109.66 L435.80,108.63 L431.01,107.56 L427.07,106.48 L423.99,105.37 L421.77,104.26 L420.44,103.13 L420.00,102.00 L420.44,100.87 L421.77,99.74 L423.99,98.63 L427.07,97.52 L431.01,96.44 L435.80,95.37 L441.41,94.34 L447.83,93.33 L455.03,92.36 L462.97,91.42 L471.63,90.53 L480.98,89.68 L490.98,88.88 L501.58,88.13 L512.75,87.44 L524.44,86.80 L536.61,86.23 L549.20,85.71 L562.17,85.26 L575.47,84.88 L589.04,84.57 L602.84,84.32 L616.80,84.14 L630.87,84.04 L645.00,84.00 L659.13,84.04 L673.20,84.14 L687.16,84.32 L700.96,84.57 L714.53,84.88 L727.83,85.26 L740.80,85.71 L753.39,86.23 L765.56,86.80 L777.25,87.44 L788.42,88.13 L799.02,88.88 L809.02,89.68 L818.37,90.53 L827.03,91.42 L834.97,92.36 L842.17,93.33 L848.59,94.34 L854.20,95.37 L858.99,96.44 L862.93,97.52 L866.01,98.63 L868.23,99.74 L869.56,100.87 Z"]
@@ -50,13 +50,13 @@ layer at (0,0) size 480x360
           RenderPath {rect} at (220.60,60.89) size 6.41x4.73 [stroke={[type=SOLID] [color=#847542]}] [fill={[type=SOLID] [color=#FFDF7B]}] [data="M595.00,192.00 L695.00,192.00 L695.00,228.00 L595.00,228.00 Z"]
           RenderPath {rect} at (217.36,61.38) size 15.82x9.52 [stroke={[type=SOLID] [color=#847542]}] [fill={[type=SOLID] [color=#FFDF7B]}] [data="M507.00,246.00 L783.00,246.00 L783.00,282.00 L507.00,282.00 Z"]
           RenderPath {rect} at (223.38,66.58) size 6.73x4.89 [stroke={[type=SOLID] [color=#847542]}] [fill={[type=SOLID] [color=#FFDF7B]}] [data="M592.00,300.00 L698.00,300.00 L698.00,336.00 L592.00,336.00 Z"]
-        RenderSVGContainer {g} at (197.19,59.09) size 27.36x23.01
+        RenderSVGContainer {g} at (197.19,59.09) size 27.59x23.46
           RenderPath {path} at (197.22,63.63) size 14.52x10.83 [stroke={[type=SOLID] [color=#5A59CE]}] [data="M201.00,193.00 C212.00,170.00,215.00,158.00,240.00,143.00 C279.00,122.00,377.00,112.00,428.00,107.00"]
           RenderPath {path} at (199.51,66.66) size 12.17x7.78 [stroke={[type=SOLID] [color=#5A59CE]}] [data="M216.00,200.00 C224.00,196.00,232.00,193.00,240.00,191.00 C311.00,174.00,390.00,165.00,423.00,161.00"]
           RenderPath {path} at (201.12,64.59) size 20.02x10.24 [stroke={[type=SOLID] [color=#5A59CE]}] [data="M221.00,210.00 C295.00,210.00,497.00,210.00,595.00,210.00"]
           RenderPath {path} at (201.12,64.59) size 20.02x10.24 [stroke={[type=SOLID] [color=#5A59CE]}] [data="M221.00,210.00 C295.00,210.00,497.00,210.00,595.00,210.00"]
           RenderPath {path} at (201.12,67.55) size 16.74x10.31 [stroke={[type=SOLID] [color=#5A59CE]}] [data="M216.00,220.00 C224.00,224.00,232.00,227.00,240.00,229.00 C334.00,252.00,444.00,261.00,506.00,264.00"]
-          RenderPath {path} at (200.43,65.53) size 23.96x16.57 [stroke={[type=SOLID] [color=#5A59CE]}] [data="M201.00,227.00 C212.00,253.00,215.00,265.00,240.00,280.00 C352.00,344.00,508.00,337.00,592.00,325.00"]
+          RenderPath {path} at (200.43,65.53) size 24.19x17.02 [stroke={[type=SOLID] [color=#5A59CE]}] [data="M201.00,227.00 C212.00,253.00,215.00,265.00,240.00,280.00 C352.00,344.00,508.00,337.00,592.00,325.00"]
         RenderSVGContainer {g} at (208.86,58.76) size 15.78x16.99
           RenderPath {polygon} at (209.13,63.31) size 0.65x0.65 [fill={[type=SOLID] [color=#5A59CE]}] [data="M433.00,107.00 L425.00,111.00 L425.00,103.00 Z"]
           RenderPath {polygon} at (210.33,66.33) size 0.65x0.65 [fill={[type=SOLID] [color=#5A59CE]}] [data="M428.00,160.00 L421.00,165.00 L420.00,157.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt
index 0e0a3da..2e70897 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt
@@ -2,7 +2,7 @@ layer at (0,0) size 480x360
   RenderView at (0,0) size 480x360
 layer at (0,0) size 480x360
   RenderSVGRoot {svg} at (0.50,0.50) size 479x359
-    RenderSVGContainer {g} at (3,3) size 452.44x340
+    RenderSVGContainer {g} at (3,3) size 457x340
       RenderSVGText {text} at (100,14) size 236x14 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-11) size 236x14
           chunk 1 text run 1 at (100.00,14.00) startOffset 0 endOffset 40 width 236.00: "Cubic bezier curves drawn with commands:"
@@ -16,7 +16,7 @@ layer at (0,0) size 480x360
       RenderSVGText {text} at (5,82) size 79x14 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-11) size 79x14
           chunk 1 text run 1 at (5.00,82.00) startOffset 0 endOffset 16 width 79.00: "M, C, S, m, c, s"
-      RenderPath {path} at (239.50,56.72) size 101x66.56 [stroke={[type=SOLID] [color=#000000]}] [data="M240.00,90.00 C240.00,120.00,247.00,140.00,290.00,90.00 C333.00,40.00,340.00,60.00,340.00,90.00 C340.00,173.00,272.00,56.00,250.00,60.00 C240.00,60.00,240.00,90.00,240.00,90.00 Z"]
+      RenderPath {path} at (239.50,40) size 101x133 [stroke={[type=SOLID] [color=#000000]}] [data="M240.00,90.00 C240.00,120.00,247.00,140.00,290.00,90.00 C333.00,40.00,340.00,60.00,340.00,90.00 C340.00,173.00,272.00,56.00,250.00,60.00 C240.00,60.00,240.00,90.00,240.00,90.00 Z"]
       RenderPath {rect} at (238,88) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M238.00,88.00 L242.00,88.00 L242.00,92.00 L238.00,92.00 Z"]
       RenderPath {rect} at (288,88) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M288.00,88.00 L292.00,88.00 L292.00,92.00 L288.00,92.00 Z"]
       RenderPath {rect} at (338,88) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M338.00,88.00 L342.00,88.00 L342.00,92.00 L338.00,92.00 Z"]
@@ -44,7 +44,7 @@ layer at (0,0) size 480x360
       RenderSVGText {text} at (165,210) size 34x14 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-11) size 34x14
           chunk 1 text run 1 at (165.00,210.00) startOffset 0 endOffset 7 width 34.00: "m, c, s"
-      RenderPath {path} at (359.92,94.74) size 95.52x95.36 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M360.00,100.00 C420.00,90.00,460.00,140.00,450.00,190.00"]
+      RenderPath {path} at (359.92,90) size 100.08x100.10 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M360.00,100.00 C420.00,90.00,460.00,140.00,450.00,190.00"]
       RenderPath {rect} at (358,98) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M358.00,98.00 L362.00,98.00 L362.00,102.00 L358.00,102.00 Z"]
       RenderPath {rect} at (448,188) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M448.00,188.00 L452.00,188.00 L452.00,192.00 L448.00,192.00 Z"]
       RenderSVGText {text} at (360,150) size 25x14 contains 1 chunk(s)
@@ -58,7 +58,7 @@ layer at (0,0) size 480x360
       RenderSVGText {text} at (290,265) size 70x14 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-11) size 70x14
           chunk 1 text run 1 at (290.00,265.00) startOffset 0 endOffset 16 width 70.00: "M, c, s, s, s, z"
-      RenderPath {path} at (349.79,261.81) size 94.22x63.69 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#F0F0F0]}] [data="M360.00,325.00 C320.00,265.00,455.00,225.00,440.00,325.00 Z"]
+      RenderPath {path} at (320,225) size 135x100.50 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#F0F0F0]}] [data="M360.00,325.00 C320.00,265.00,455.00,225.00,440.00,325.00 Z"]
       RenderPath {rect} at (358,323) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M358.00,323.00 L362.00,323.00 L362.00,327.00 L358.00,327.00 Z"]
       RenderPath {rect} at (438,323) size 4x4 [fill={[type=SOLID] [color=#4A83FF]}] [data="M438.00,323.00 L442.00,323.00 L442.00,327.00 L438.00,327.00 Z"]
       RenderSVGText {text} at (380,340) size 34x14 contains 1 chunk(s)
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt
index 9c04f5a..df370fd 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt
@@ -1,12 +1,12 @@
 layer at (0,0) size 480x360
   RenderView at (0,0) size 480x360
 layer at (0,0) size 480x360
-  RenderSVGRoot {svg} at (-6.67,-0.65) size 486.17x363.95
-    RenderSVGContainer {g} at (-6.67,-0.65) size 483.67x363.95
+  RenderSVGRoot {svg} at (-6.67,-6.67) size 486.17x369.96
+    RenderSVGContainer {g} at (-6.67,-6.67) size 483.67x369.96
       RenderSVGText {text} at (120,14) size 247x14 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-11) size 247x14
           chunk 1 text run 1 at (120.00,14.00) startOffset 0 endOffset 42 width 247.00: "Quadric bezier curves drawn with commands:"
-      RenderPath {path} at (13.05,3.45) size 171.19x88.35 [stroke={[type=SOLID] [color=#0000FF] [stroke width=3.00]}] [data="M15.00,20.00 C25.00,86.67,63.33,90.00,130.00,30.00 M180.00,80.00 C130.00,13.33,75.67,-6.67,17.00,20.00 Z"]
+      RenderPath {path} at (13.05,-6.67) size 171.19x98.47 [stroke={[type=SOLID] [color=#0000FF] [stroke width=3.00]}] [data="M15.00,20.00 C25.00,86.67,63.33,90.00,130.00,30.00 M180.00,80.00 C130.00,13.33,75.67,-6.67,17.00,20.00 Z"]
       RenderSVGText {text} at (80,86) size 66x14 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-11) size 66x14
           chunk 1 text run 1 at (80.00,86.00) startOffset 0 endOffset 13 width 66.00: "M, Q, M, q, z"
@@ -53,7 +53,7 @@ layer at (0,0) size 480x360
       RenderPath {rect} at (379,294) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M379.00,294.00 L383.00,294.00 L383.00,298.00 L379.00,298.00 Z"]
       RenderPath {rect} at (426,294) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M426.00,294.00 L430.00,294.00 L430.00,298.00 L426.00,298.00 Z"]
       RenderPath {rect} at (473,294) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M473.00,294.00 L477.00,294.00 L477.00,298.00 L473.00,298.00 Z"]
-      RenderPath {path} at (121,191.88) size 102x102.24 [stroke={[type=SOLID] [color=#00CF00] [stroke width=2.00]}] [fill={[type=SOLID] [color=#0000C0]}] [data="M172.00,193.00 C105.33,226.33,105.33,243.00,172.00,243.00 C105.33,243.00,105.33,259.67,172.00,293.00 C238.67,259.67,238.67,243.00,172.00,243.00 C238.67,243.00,238.67,226.33,172.00,193.00 Z"]
+      RenderPath {path} at (105.33,191.88) size 133.33x102.24 [stroke={[type=SOLID] [color=#00CF00] [stroke width=2.00]}] [fill={[type=SOLID] [color=#0000C0]}] [data="M172.00,193.00 C105.33,226.33,105.33,243.00,172.00,243.00 C105.33,243.00,105.33,259.67,172.00,293.00 C238.67,259.67,238.67,243.00,172.00,243.00 C238.67,243.00,238.67,226.33,172.00,193.00 Z"]
       RenderSVGText {text} at (48,280) size 78x14 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-11) size 78x14
           chunk 1 text run 1 at (48.00,280.00) startOffset 0 endOffset 16 width 78.00: "M, q, Q, q, Q, z"
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt
index 86f6b4b..79c9132 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt
@@ -42,7 +42,7 @@ layer at (0,0) size 480x360
       RenderPath {rect} at (123,228) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M123.00,228.00 L127.00,228.00 L127.00,232.00 L123.00,232.00 Z"]
       RenderPath {rect} at (98,202) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M98.00,202.00 L102.00,202.00 L102.00,206.00 L98.00,206.00 Z"]
       RenderPath {rect} at (163,252) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M163.00,252.00 L167.00,252.00 L167.00,256.00 L163.00,256.00 Z"]
-      RenderPath {path} at (214.50,153.36) size 250.71x93.01 [stroke={[type=SOLID] [color=#FF0000]}] [data="M215.00,190.00 C220.26,245.75,240.89,245.75,265.00,190.00 C296.65,141.82,316.85,141.82,315.00,190.00 C309.67,227.54,329.26,227.54,365.00,190.00 C400.96,163.95,419.86,163.95,415.00,190.00 C413.86,205.73,432.08,205.73,465.00,190.00"]
+      RenderPath {path} at (214.50,141.82) size 250.71x104.56 [stroke={[type=SOLID] [color=#FF0000]}] [data="M215.00,190.00 C220.26,245.75,240.89,245.75,265.00,190.00 C296.65,141.82,316.85,141.82,315.00,190.00 C309.67,227.54,329.26,227.54,365.00,190.00 C400.96,163.95,419.86,163.95,415.00,190.00 C413.86,205.73,432.08,205.73,465.00,190.00"]
       RenderSVGText {text} at (215,246) size 66x14 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-11) size 66x14
           chunk 1 text run 1 at (215.00,246.00) startOffset 0 endOffset 13 width 66.00: "M, A, A, A, A"
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt
index 531c3ad..3e39a58 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt
@@ -7,7 +7,7 @@ layer at (0,0) size 480x360
       RenderPath {rect} at (100,100) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M100.00,100.00 L104.00,100.00 L104.00,104.00 L100.00,104.00 Z"]
       RenderPath {rect} at (200,100) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M200.00,100.00 L204.00,100.00 L204.00,104.00 L200.00,104.00 Z"]
       RenderPath {rect} at (300,100) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M300.00,100.00 L304.00,100.00 L304.00,104.00 L300.00,104.00 Z"]
-      RenderPath {path} at (99.33,225.10) size 202.17x76.90 [stroke={[type=SOLID] [color=#FF0000] [stroke width=3.00]}] [data="M100.00,250.00 C100.00,250.00,200.00,200.00,200.00,250.00 C200.00,300.00,300.00,300.00,300.00,250.00"]
+      RenderPath {path} at (99.33,200) size 202.17x102 [stroke={[type=SOLID] [color=#FF0000] [stroke width=3.00]}] [data="M100.00,250.00 C100.00,250.00,200.00,200.00,200.00,250.00 C200.00,300.00,300.00,300.00,300.00,250.00"]
       RenderPath {rect} at (100,250) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M100.00,250.00 L104.00,250.00 L104.00,254.00 L100.00,254.00 Z"]
       RenderPath {rect} at (200,200) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M200.00,200.00 L204.00,200.00 L204.00,204.00 L200.00,204.00 Z"]
       RenderPath {rect} at (200,250) size 4x4 [fill={[type=SOLID] [color=#0000FF]}] [data="M200.00,250.00 L204.00,250.00 L204.00,254.00 L200.00,254.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-path-01-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-path-01-b-expected.txt
index 35002b8..d24832c 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-path-01-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-path-01-b-expected.txt
@@ -4,22 +4,22 @@ layer at (0,0) size 480x360
   RenderSVGRoot {svg} at (-9,-7) size 488.50x366.50
     RenderSVGContainer {g} at (-9,-7) size 427.30x298.50
       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-        RenderPath {path} at (198.53,22.02) size 219.77x86.21 [stroke={[type=SOLID] [color=#0000FF]}] [data="M199.00,89.30 C206.60,66.60,235.80,13.20,270.00,30.30 C286.60,38.60,298.90,59.40,310.00,73.30 C321.70,87.90,338.60,99.00,356.00,103.30 C387.30,111.10,396.60,90.40,418.00,74.30"]
-        RenderPath {path} at (33.03,78.52) size 219.77x85.14 [stroke={[type=SOLID] [color=#0000FF]}] [data="M33.50,145.80 C41.00,123.00,70.30,69.70,104.50,86.80 C121.00,95.00,133.00,116.00,144.50,129.80 C156.20,144.40,173.00,155.50,190.50,159.80 C221.80,167.60,231.00,146.90,252.50,130.80"]
+        RenderPath {path} at (198.53,13.20) size 219.77x97.90 [stroke={[type=SOLID] [color=#0000FF]}] [data="M199.00,89.30 C206.60,66.60,235.80,13.20,270.00,30.30 C286.60,38.60,298.90,59.40,310.00,73.30 C321.70,87.90,338.60,99.00,356.00,103.30 C387.30,111.10,396.60,90.40,418.00,74.30"]
+        RenderPath {path} at (33.03,69.70) size 219.77x97.90 [stroke={[type=SOLID] [color=#0000FF]}] [data="M33.50,145.80 C41.00,123.00,70.30,69.70,104.50,86.80 C121.00,95.00,133.00,116.00,144.50,129.80 C156.20,144.40,173.00,155.50,190.50,159.80 C221.80,167.60,231.00,146.90,252.50,130.80"]
         RenderPath {path} at (113,231) size 300x4 [stroke={[type=SOLID] [color=#0000FF] [stroke width=4.00]}] [data="M113.00,233.00 L413.00,233.00"]
       RenderSVGContainer {g} at (168,-7) size 250.30x121
-        RenderSVGContainer {use} at (198.53,22.02) size 219.77x86.21
-          RenderSVGContainer {g} at (198.53,22.02) size 219.77x86.21
-            RenderPath {path} at (198.53,22.02) size 219.77x86.21 [stroke={[type=SOLID] [color=#0000FF]}] [data="M199.00,89.30 C206.60,66.60,235.80,13.20,270.00,30.30 C286.60,38.60,298.90,59.40,310.00,73.30 C321.70,87.90,338.60,99.00,356.00,103.30 C387.30,111.10,396.60,90.40,418.00,74.30"]
+        RenderSVGContainer {use} at (198.53,13.20) size 219.77x97.90
+          RenderSVGContainer {g} at (198.53,13.20) size 219.77x97.90
+            RenderPath {path} at (198.53,13.20) size 219.77x97.90 [stroke={[type=SOLID] [color=#0000FF]}] [data="M199.00,89.30 C206.60,66.60,235.80,13.20,270.00,30.30 C286.60,38.60,298.90,59.40,310.00,73.30 C321.70,87.90,338.60,99.00,356.00,103.30 C387.30,111.10,396.60,90.40,418.00,74.30"]
         RenderSVGText {text} at (203,27) size 205x121 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 205x121
             RenderSVGInlineText {#text} at (-35,-34) size 205x121
               chunk 1 text run 1 at (203.04,27.04) startOffset 0 endOffset 14 width 226.00: "Text on a path"
           RenderSVGInlineText {#text} at (0,0) size 0x0
       RenderSVGContainer {g} at (-9,49) size 300.50x162
-        RenderSVGContainer {use} at (33.03,78.52) size 219.77x85.14
-          RenderSVGContainer {g} at (33.03,78.52) size 219.77x85.14
-            RenderPath {path} at (33.03,78.52) size 219.77x85.14 [stroke={[type=SOLID] [color=#0000FF]}] [data="M33.50,145.80 C41.00,123.00,70.30,69.70,104.50,86.80 C121.00,95.00,133.00,116.00,144.50,129.80 C156.20,144.40,173.00,155.50,190.50,159.80 C221.80,167.60,231.00,146.90,252.50,130.80"]
+        RenderSVGContainer {use} at (33.03,69.70) size 219.77x97.90
+          RenderSVGContainer {g} at (33.03,69.70) size 219.77x97.90
+            RenderPath {path} at (33.03,69.70) size 219.77x97.90 [stroke={[type=SOLID] [color=#0000FF]}] [data="M33.50,145.80 C41.00,123.00,70.30,69.70,104.50,86.80 C121.00,95.00,133.00,116.00,144.50,129.80 C156.20,144.40,173.00,155.50,190.50,159.80 C221.80,167.60,231.00,146.90,252.50,130.80"]
         RenderSVGText {text} at (37,83) size 216x121 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 216x121
             RenderSVGTSpan {tspan} at (0,0) size 57x57
diff --git a/LayoutTests/platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt b/LayoutTests/platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt
index 3faa073..0e66dbd 100644
--- a/LayoutTests/platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt
+++ b/LayoutTests/platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt
@@ -1,22 +1,22 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 450x500
-  RenderSVGRoot {svg} at (39,16) size 361x375.52
+  RenderSVGRoot {svg} at (39,16) size 361x384
     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-      RenderPath {path} at (19.65,8.96) size 160.35x42.08 [stroke={[type=SOLID] [color=#0000FF]}] [data="M20.00,40.00 C40.00,20.00,60.00,0.00,80.00,20.00 C100.00,40.00,120.00,60.00,140.00,40.00 C160.00,20.00,180.00,20.00,180.00,20.00"]
-      RenderPath {path} at (19.78,8.99) size 320.22x42.02 [stroke={[type=SOLID] [color=#0000FF]}] [data="M20.00,40.00 C60.00,20.00,100.00,0.00,140.00,20.00 C180.00,40.00,220.00,60.00,260.00,40.00 C300.00,20.00,340.00,20.00,340.00,20.00"]
+      RenderPath {path} at (19.65,0) size 160.35x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M20.00,40.00 C40.00,20.00,60.00,0.00,80.00,20.00 C100.00,40.00,120.00,60.00,140.00,40.00 C160.00,20.00,180.00,20.00,180.00,20.00"]
+      RenderPath {path} at (19.78,0) size 320.22x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M20.00,40.00 C60.00,20.00,100.00,0.00,140.00,20.00 C180.00,40.00,220.00,60.00,260.00,40.00 C300.00,20.00,340.00,20.00,340.00,20.00"]
     RenderSVGText {text} at (130,30) size 190x17 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,-14) size 190x17
         chunk 1 (middle anchor) text run 1 at (130.00,30.00) startOffset 0 endOffset 27 width 190.00: "Text Orientation Horizontal"
-    RenderSVGContainer {g} at (39,44) size 361x347.52
+    RenderSVGContainer {g} at (39,44) size 361x356
       RenderPath {line} at (50,79) size 150x2 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M50.00,80.00 L200.00,80.00"]
       RenderSVGText {text} at (50,80) size 142x27 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-22) size 142x27
           chunk 1 text run 1 at (50.00,80.00) startOffset 0 endOffset 13 width 142.00: "Batik is Good"
-      RenderSVGContainer {g} at (224,44) size 176x70 [transform={m=((1.00,0.00)(0.00,1.00)) t=(220.00,60.00)}]
-        RenderSVGContainer {use} at (239.29,68.42) size 160.71x43.16
-          RenderSVGContainer {g} at (239.29,68.42) size 160.71x43.16
-            RenderPath {path} at (239.29,68.42) size 160.71x43.16 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M20.00,40.00 C40.00,20.00,60.00,0.00,80.00,20.00 C100.00,40.00,120.00,60.00,140.00,40.00 C160.00,20.00,180.00,20.00,180.00,20.00"]
+      RenderSVGContainer {g} at (224,44) size 176x76 [transform={m=((1.00,0.00)(0.00,1.00)) t=(220.00,60.00)}]
+        RenderSVGContainer {use} at (239.29,60) size 160.71x60
+          RenderSVGContainer {g} at (239.29,60) size 160.71x60
+            RenderPath {path} at (239.29,60) size 160.71x60 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M20.00,40.00 C40.00,20.00,60.00,0.00,80.00,20.00 C100.00,40.00,120.00,60.00,140.00,40.00 C160.00,20.00,180.00,20.00,180.00,20.00"]
         RenderSVGText {text} at (25,12) size 138x70 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 138x70
             RenderSVGInlineText {#text} at (-21,-23) size 71x55
@@ -32,10 +32,10 @@ layer at (0,0) size 450x500
       RenderSVGText {text} at (58,125) size 350x20 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (-10,-15) size 350x20
           chunk 1 text run 1 at (58.00,125.00) startOffset 0 endOffset 13 width 142.00: "Batik is Good"
-      RenderSVGContainer {g} at (40,146) size 330x55.52 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,150.00)}]
-        RenderSVGContainer {use} at (49.55,158.48) size 320.45x43.05
-          RenderSVGContainer {g} at (49.55,158.48) size 320.45x43.05
-            RenderPath {path} at (49.55,158.48) size 320.45x43.05 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M20.00,40.00 C60.00,20.00,100.00,0.00,140.00,20.00 C180.00,40.00,220.00,60.00,260.00,40.00 C300.00,20.00,340.00,20.00,340.00,20.00"]
+      RenderSVGContainer {g} at (40,146) size 330x64 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,150.00)}]
+        RenderSVGContainer {use} at (49.55,150) size 320.45x60
+          RenderSVGContainer {g} at (49.55,150) size 320.45x60
+            RenderPath {path} at (49.55,150) size 320.45x60 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M20.00,40.00 C60.00,20.00,100.00,0.00,140.00,20.00 C180.00,40.00,220.00,60.00,260.00,40.00 C300.00,20.00,340.00,20.00,340.00,20.00"]
         RenderSVGText {text} at (32,11) size 314x49 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 314x49
             RenderSVGInlineText {#text} at (-22,-15) size 162x44
@@ -51,10 +51,10 @@ layer at (0,0) size 450x500
       RenderSVGText {text} at (58,240) size 142x27 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (-8,-22) size 142x27
           chunk 1 text run 1 at (58.00,240.00) startOffset 0 endOffset 13 width 142.00: "Batik is Good"
-      RenderSVGContainer {g} at (224,204) size 176x70 [transform={m=((1.00,0.00)(0.00,1.00)) t=(220.00,220.00)}]
-        RenderSVGContainer {use} at (239.29,228.42) size 160.71x43.16
-          RenderSVGContainer {g} at (239.29,228.42) size 160.71x43.16
-            RenderPath {path} at (239.29,228.42) size 160.71x43.16 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M20.00,40.00 C40.00,20.00,60.00,0.00,80.00,20.00 C100.00,40.00,120.00,60.00,140.00,40.00 C160.00,20.00,180.00,20.00,180.00,20.00"]
+      RenderSVGContainer {g} at (224,204) size 176x76 [transform={m=((1.00,0.00)(0.00,1.00)) t=(220.00,220.00)}]
+        RenderSVGContainer {use} at (239.29,220) size 160.71x60
+          RenderSVGContainer {g} at (239.29,220) size 160.71x60
+            RenderPath {path} at (239.29,220) size 160.71x60 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M20.00,40.00 C40.00,20.00,60.00,0.00,80.00,20.00 C100.00,40.00,120.00,60.00,140.00,40.00 C160.00,20.00,180.00,20.00,180.00,20.00"]
         RenderSVGText {text} at (25,12) size 138x70 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 138x70
             RenderSVGInlineText {#text} at (-21,-23) size 71x55
@@ -70,10 +70,10 @@ layer at (0,0) size 450x500
       RenderSVGText {text} at (42,315) size 353x20 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (5,-15) size 353x20
           chunk 1 text run 1 at (42.00,315.00) startOffset 0 endOffset 13 width 142.00: "Batik is Good"
-      RenderSVGContainer {g} at (39,337) size 331x54.52 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,340.00)}]
-        RenderSVGContainer {use} at (49.55,348.48) size 320.45x43.05
-          RenderSVGContainer {g} at (49.55,348.48) size 320.45x43.05
-            RenderPath {path} at (49.55,348.48) size 320.45x43.05 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M20.00,40.00 C60.00,20.00,100.00,0.00,140.00,20.00 C180.00,40.00,220.00,60.00,260.00,40.00 C300.00,20.00,340.00,20.00,340.00,20.00"]
+      RenderSVGContainer {g} at (39,337) size 331x63 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,340.00)}]
+        RenderSVGContainer {use} at (49.55,340) size 320.45x60
+          RenderSVGContainer {g} at (49.55,340) size 320.45x60
+            RenderPath {path} at (49.55,340) size 320.45x60 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M20.00,40.00 C60.00,20.00,100.00,0.00,140.00,20.00 C180.00,40.00,220.00,60.00,260.00,40.00 C300.00,20.00,340.00,20.00,340.00,20.00"]
         RenderSVGText {text} at (32,11) size 317x49 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 317x49
             RenderSVGInlineText {#text} at (-23,-14) size 170x43
diff --git a/LayoutTests/platform/mac/svg/batik/text/textOnPath-expected.txt b/LayoutTests/platform/mac/svg/batik/text/textOnPath-expected.txt
index 945d05e..962a59f 100644
--- a/LayoutTests/platform/mac/svg/batik/text/textOnPath-expected.txt
+++ b/LayoutTests/platform/mac/svg/batik/text/textOnPath-expected.txt
@@ -7,12 +7,12 @@ layer at (0,0) size 450x500
         RenderSVGInlineText {#text} at (0,-14) size 130x17
           chunk 1 (middle anchor) text run 1 at (160.00,40.00) startOffset 0 endOffset 19 width 130.00: "Text on a path test"
       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-        RenderPath {path} at (14.95,7.04) size 120.05x30.91 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
-        RenderPath {path} at (29.85,12.25) size 90.30x37.75 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+        RenderPath {path} at (14.95,0) size 120.05x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderPath {path} at (29.85,0) size 90.30x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
       RenderSVGContainer {g} at (11,54) size 123x89 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,70.00)}]
-        RenderSVGContainer {use} at (29.70,70.67) size 90.60x49.33
-          RenderSVGContainer {g} at (29.70,70.67) size 90.60x49.33
-            RenderPath {path} at (29.70,70.67) size 90.60x49.33 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+        RenderSVGContainer {use} at (29.70,70) size 90.60x50
+          RenderSVGContainer {g} at (29.70,70) size 90.60x50
+            RenderPath {path} at (29.70,70) size 90.60x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
         RenderSVGText {text} at (30,12) size 123x67 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 123x67
             RenderSVGInlineText {#text} at (-19,-11) size 44x50
@@ -31,9 +31,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 75x13
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 19 width 75.00: "text-anchor=\"start\""
       RenderSVGContainer {g} at (150,65) size 121x78 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,70.00)}]
-        RenderSVGContainer {use} at (179.70,70.67) size 90.60x49.33
-          RenderSVGContainer {g} at (179.70,70.67) size 90.60x49.33
-            RenderPath {path} at (179.70,70.67) size 90.60x49.33 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+        RenderSVGContainer {use} at (179.70,70) size 90.60x50
+          RenderSVGContainer {g} at (179.70,70) size 90.60x50
+            RenderPath {path} at (179.70,70) size 90.60x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
         RenderSVGText {text} at (30,13) size 69x53 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 69x53
             RenderSVGInlineText {#text} at (-30,-13) size 0x0
@@ -52,9 +52,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 86x13
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 20 width 86.00: "text-anchor=\"middle\""
       RenderSVGContainer {g} at (300,64) size 120.30x79 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,70.00)}]
-        RenderSVGContainer {use} at (329.70,70.67) size 90.60x49.33
-          RenderSVGContainer {g} at (329.70,70.67) size 90.60x49.33
-            RenderPath {path} at (329.70,70.67) size 90.60x49.33 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+        RenderSVGContainer {use} at (329.70,70) size 90.60x50
+          RenderSVGContainer {g} at (329.70,70) size 90.60x50
+            RenderPath {path} at (329.70,70) size 90.60x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
         RenderSVGText {text} at (30,12) size 76x55 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 76x55
             RenderSVGInlineText {#text} at (-30,-12) size 0x0
@@ -73,9 +73,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 72x13
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 17 width 72.00: "text-anchor=\"end\""
       RenderSVGContainer {g} at (29.70,164) size 118.30x79 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,170.00)}]
-        RenderSVGContainer {use} at (29.70,170.67) size 90.60x49.33
-          RenderSVGContainer {g} at (29.70,170.67) size 90.60x49.33
-            RenderPath {path} at (29.70,170.67) size 90.60x49.33 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+        RenderSVGContainer {use} at (29.70,170) size 90.60x50
+          RenderSVGContainer {g} at (29.70,170) size 90.60x50
+            RenderPath {path} at (29.70,170) size 90.60x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
         RenderSVGText {text} at (80,12) size 74x58 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 74x58
             RenderSVGInlineText {#text} at (-6,-18) size 52x38
@@ -94,9 +94,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 75x13
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 19 width 75.00: "text-anchor=\"start\""
       RenderSVGContainer {g} at (163,154) size 124x89 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,170.00)}]
-        RenderSVGContainer {use} at (179.70,170.67) size 90.60x49.33
-          RenderSVGContainer {g} at (179.70,170.67) size 90.60x49.33
-            RenderPath {path} at (179.70,170.67) size 90.60x49.33 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+        RenderSVGContainer {use} at (179.70,170) size 90.60x50
+          RenderSVGContainer {g} at (179.70,170) size 90.60x50
+            RenderPath {path} at (179.70,170) size 90.60x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
         RenderSVGText {text} at (32,12) size 124x61 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 124x61
             RenderSVGInlineText {#text} at (-19,-15) size 48x48
@@ -115,9 +115,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 86x13
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 20 width 86.00: "text-anchor=\"middle\""
       RenderSVGContainer {g} at (317,154) size 122x89 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,170.00)}]
-        RenderSVGContainer {use} at (329.70,170.67) size 90.60x49.33
-          RenderSVGContainer {g} at (329.70,170.67) size 90.60x49.33
-            RenderPath {path} at (329.70,170.67) size 90.60x49.33 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+        RenderSVGContainer {use} at (329.70,170) size 90.60x50
+          RenderSVGContainer {g} at (329.70,170) size 90.60x50
+            RenderPath {path} at (329.70,170) size 90.60x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
         RenderSVGText {text} at (35,12) size 122x67 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 122x67
             RenderSVGInlineText {#text} at (-18,-17) size 50x44
@@ -136,9 +136,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 72x13
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 17 width 72.00: "text-anchor=\"end\""
       RenderSVGContainer {g} at (29.70,256) size 108.30x87 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,270.00)}]
-        RenderSVGContainer {use} at (29.70,270.67) size 90.60x49.33
-          RenderSVGContainer {g} at (29.70,270.67) size 90.60x49.33
-            RenderPath {path} at (29.70,270.67) size 90.60x49.33 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+        RenderSVGContainer {use} at (29.70,270) size 90.60x50
+          RenderSVGContainer {g} at (29.70,270) size 90.60x50
+            RenderPath {path} at (29.70,270) size 90.60x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
         RenderSVGText {text} at (51,12) size 100x62 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 100x62
             RenderSVGInlineText {#text} at (-13,-18) size 51x31
@@ -157,9 +157,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 75x13
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 19 width 75.00: "text-anchor=\"start\""
       RenderSVGContainer {g} at (161,264) size 110x79 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,270.00)}]
-        RenderSVGContainer {use} at (179.70,270.67) size 90.60x49.33
-          RenderSVGContainer {g} at (179.70,270.67) size 90.60x49.33
-            RenderPath {path} at (179.70,270.67) size 90.60x49.33 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+        RenderSVGContainer {use} at (179.70,270) size 90.60x50
+          RenderSVGContainer {g} at (179.70,270) size 90.60x50
+            RenderPath {path} at (179.70,270) size 90.60x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
         RenderSVGText {text} at (30,12) size 99x59 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 99x59
             RenderSVGInlineText {#text} at (-19,12) size 28x29
@@ -178,9 +178,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 86x13
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 20 width 86.00: "text-anchor=\"middle\""
       RenderSVGContainer {g} at (300,270) size 120.30x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,270.00)}]
-        RenderSVGContainer {use} at (329.70,270.67) size 90.60x49.33
-          RenderSVGContainer {g} at (329.70,270.67) size 90.60x49.33
-            RenderPath {path} at (329.70,270.67) size 90.60x49.33 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+        RenderSVGContainer {use} at (329.70,270) size 90.60x50
+          RenderSVGContainer {g} at (329.70,270) size 90.60x50
+            RenderPath {path} at (329.70,270) size 90.60x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
         RenderSVGText {text} at (30,23) size 50x52 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 50x52
             RenderSVGInlineText {#text} at (-30,-23) size 0x0
@@ -199,9 +199,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 72x13
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 17 width 72.00: "text-anchor=\"end\""
       RenderSVGContainer {g} at (9,359) size 136x84 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,370.00)}]
-        RenderSVGContainer {use} at (24.89,377.29) size 120.11x30.43
-          RenderSVGContainer {g} at (24.89,377.29) size 120.11x30.43
-            RenderPath {path} at (24.89,377.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (24.89,370) size 120.11x45
+          RenderSVGContainer {g} at (24.89,370) size 120.11x45
+            RenderPath {path} at (24.89,370) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (17,8) size 124x58 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 124x58
             RenderSVGTSpan {tspan} at (0,0) size 42x38
@@ -222,9 +222,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 98x13
             chunk 1 text run 1 at (20.00,70.00) startOffset 0 endOffset 24 width 98.00: "and baseline-shift=\"sub\""
       RenderSVGContainer {g} at (158,362) size 132x71 [transform={m=((1.00,0.00)(0.00,1.00)) t=(155.00,370.00)}]
-        RenderSVGContainer {use} at (169.89,377.29) size 120.11x30.43
-          RenderSVGContainer {g} at (169.89,377.29) size 120.11x30.43
-            RenderPath {path} at (169.89,377.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (169.89,370) size 120.11x45
+          RenderSVGContainer {g} at (169.89,370) size 120.11x45
+            RenderPath {path} at (169.89,370) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (17,8) size 126x52 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 126x52
             RenderSVGTSpan {tspan} at (0,0) size 60x39
@@ -241,9 +241,9 @@ layer at (0,0) size 450x500
             chunk 1 text run 1 at (20.00,60.00) startOffset 0 endOffset 23 width 97.00: "baseline-shift=\"+/-20%\""
       RenderSVGContainer {g} at (304,366) size 115.50x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,390.00)}]
         RenderSVGContainer {g} at (304,366) size 115.50x49 [transform={m=((0.50,0.00)(0.00,0.50)) t=(0.00,0.00)}]
-          RenderSVGContainer {use} at (314.85,390.33) size 45.30x24.67
-            RenderSVGContainer {g} at (314.85,390.33) size 45.30x24.67
-              RenderPath {path} at (314.85,390.33) size 45.30x24.67 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+          RenderSVGContainer {use} at (314.85,390) size 45.30x25
+            RenderSVGContainer {g} at (314.85,390) size 45.30x25
+              RenderPath {path} at (314.85,390) size 45.30x25 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
           RenderSVGText {text} at (30,-20) size 231x90 contains 1 chunk(s)
             RenderSVGInlineText {#text} at (0,-28) size 143x36
               chunk 1 text run 1 at (30.00,-20.00) startOffset 0 endOffset 12 width 143.00: "before path "
diff --git a/LayoutTests/platform/mac/svg/batik/text/textOnPathSpaces-expected.txt b/LayoutTests/platform/mac/svg/batik/text/textOnPathSpaces-expected.txt
index 838d326..977ac3d 100644
--- a/LayoutTests/platform/mac/svg/batik/text/textOnPathSpaces-expected.txt
+++ b/LayoutTests/platform/mac/svg/batik/text/textOnPathSpaces-expected.txt
@@ -7,12 +7,12 @@ layer at (0,0) size 450x500
         RenderSVGInlineText {#text} at (0,-14) size 260x17
           chunk 1 (middle anchor) text run 1 at (95.50,40.00) startOffset 0 endOffset 36 width 259.00: "Text on a path with adjusted spacing"
       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-        RenderPath {path} at (14.95,7.04) size 120.05x30.91 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
-        RenderPath {path} at (29.85,12.25) size 90.30x37.75 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+        RenderPath {path} at (14.95,0) size 120.05x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderPath {path} at (29.85,0) size 90.30x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
       RenderSVGContainer {g} at (2,60) size 133x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,70.00)}]
-        RenderSVGContainer {use} at (14.89,77.29) size 120.11x30.43
-          RenderSVGContainer {g} at (14.89,77.29) size 120.11x30.43
-            RenderPath {path} at (14.89,77.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (14.89,70) size 120.11x45
+          RenderSVGContainer {g} at (14.89,70) size 120.11x45
+            RenderPath {path} at (14.89,70) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (17,8) size 74x44 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 74x44
             RenderSVGTSpan {tspan} at (0,0) size 74x44
@@ -23,9 +23,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 60x13
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 15 width 60.00: "default spacing"
       RenderSVGContainer {g} at (160,60) size 128x83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,70.00)}]
-        RenderSVGContainer {use} at (164.89,77.29) size 120.11x30.43
-          RenderSVGContainer {g} at (164.89,77.29) size 120.11x30.43
-            RenderPath {path} at (164.89,77.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (164.89,70) size 120.11x45
+          RenderSVGContainer {g} at (164.89,70) size 120.11x45
+            RenderPath {path} at (164.89,70) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (25,9) size 107x52 contains 6 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 107x52
             RenderSVGTSpan {tspan} at (0,0) size 107x52
@@ -44,9 +44,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 34x13
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 7 width 34.00: "y=\"110\""
       RenderSVGContainer {g} at (302,60) size 133x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,70.00)}]
-        RenderSVGContainer {use} at (314.89,77.29) size 120.11x30.43
-          RenderSVGContainer {g} at (314.89,77.29) size 120.11x30.43
-            RenderPath {path} at (314.89,77.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (314.89,70) size 120.11x45
+          RenderSVGContainer {g} at (314.89,70) size 120.11x45
+            RenderPath {path} at (314.89,70) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (17,9) size 106x51 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 106x51
             RenderSVGTSpan {tspan} at (0,0) size 106x51
@@ -57,9 +57,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 118x13
             chunk 1 text run 1 at (15.00,60.00) startOffset 0 endOffset 27 width 118.00: "tspan dx=\"0,10,10,10,10,10\""
       RenderSVGContainer {g} at (2,155) size 133x68 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,160.00)}]
-        RenderSVGContainer {use} at (14.89,167.29) size 120.11x30.43
-          RenderSVGContainer {g} at (14.89,167.29) size 120.11x30.43
-            RenderPath {path} at (14.89,167.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (14.89,160) size 120.11x45
+          RenderSVGContainer {g} at (14.89,160) size 120.11x45
+            RenderPath {path} at (14.89,160) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (17,12) size 121x46 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 121x46
             RenderSVGInlineText {#text} at (-15,-17) size 121x46
@@ -69,9 +69,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 72x13
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 16 width 72.00: "textLength=\"140\""
       RenderSVGContainer {g} at (152,150) size 133x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,160.00)}]
-        RenderSVGContainer {use} at (164.89,167.29) size 120.11x30.43
-          RenderSVGContainer {g} at (164.89,167.29) size 120.11x30.43
-            RenderPath {path} at (164.89,167.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (164.89,160) size 120.11x45
+          RenderSVGContainer {g} at (164.89,160) size 120.11x45
+            RenderPath {path} at (164.89,160) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (17,9) size 81x44 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 81x44
             RenderSVGInlineText {#text} at (-15,-19) size 81x44
@@ -81,9 +81,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 67x13
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 15 width 67.00: "textLength=\"70\""
       RenderSVGContainer {g} at (302,150) size 133x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,160.00)}]
-        RenderSVGContainer {use} at (314.89,167.29) size 120.11x30.43
-          RenderSVGContainer {g} at (314.89,167.29) size 120.11x30.43
-            RenderPath {path} at (314.89,167.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (314.89,160) size 120.11x45
+          RenderSVGContainer {g} at (314.89,160) size 120.11x45
+            RenderPath {path} at (314.89,160) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (17,9) size 106x51 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 106x51
             RenderSVGInlineText {#text} at (-15,-19) size 106x51
@@ -93,9 +93,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 54x13
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 12 width 54.00: "kerning=\"10\""
       RenderSVGContainer {g} at (2,239) size 133x94 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,250.00)}]
-        RenderSVGContainer {use} at (14.89,257.29) size 120.11x30.43
-          RenderSVGContainer {g} at (14.89,257.29) size 120.11x30.43
-            RenderPath {path} at (14.89,257.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (14.89,250) size 120.11x45
+          RenderSVGContainer {g} at (14.89,250) size 120.11x45
+            RenderPath {path} at (14.89,250) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (21,10) size 133x54 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 133x54
             RenderSVGInlineText {#text} at (-19,-21) size 133x54
@@ -111,9 +111,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 84x13
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 18 width 84.00: "\"spacingAndGlyphs\""
       RenderSVGContainer {g} at (152,240) size 133x93 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,250.00)}]
-        RenderSVGContainer {use} at (164.89,257.29) size 120.11x30.43
-          RenderSVGContainer {g} at (164.89,257.29) size 120.11x30.43
-            RenderPath {path} at (164.89,257.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (164.89,250) size 120.11x45
+          RenderSVGContainer {g} at (164.89,250) size 120.11x45
+            RenderPath {path} at (164.89,250) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (17,8) size 63x44 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 63x44
             RenderSVGInlineText {#text} at (-15,-18) size 63x44
@@ -129,9 +129,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 84x13
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 18 width 84.00: "\"spacingAndGlyphs\""
       RenderSVGContainer {g} at (302,242) size 135x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,250.00)}]
-        RenderSVGContainer {use} at (314.89,257.29) size 120.11x30.43
-          RenderSVGContainer {g} at (314.89,257.29) size 120.11x30.43
-            RenderPath {path} at (314.89,257.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (314.89,250) size 120.11x45
+          RenderSVGContainer {g} at (314.89,250) size 120.11x45
+            RenderPath {path} at (314.89,250) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (18,11) size 132x51 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 132x51
             RenderSVGInlineText {#text} at (-16,-19) size 132x51
@@ -147,9 +147,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 84x13
             chunk 1 text run 1 at (5.00,80.00) startOffset 0 endOffset 18 width 84.00: "\"spacingAndGlyphs\""
       RenderSVGContainer {g} at (2,340) size 133x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,350.00)}]
-        RenderSVGContainer {use} at (14.89,357.29) size 120.11x30.43
-          RenderSVGContainer {g} at (14.89,357.29) size 120.11x30.43
-            RenderPath {path} at (14.89,357.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (14.89,350) size 120.11x45
+          RenderSVGContainer {g} at (14.89,350) size 120.11x45
+            RenderPath {path} at (14.89,350) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (17,8) size 49x44 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 49x44
             RenderSVGInlineText {#text} at (-15,-18) size 49x44
@@ -159,9 +159,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 75x13
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 19 width 75.00: "letter-spacing=\"-3\""
       RenderSVGContainer {g} at (152,340) size 134x83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,350.00)}]
-        RenderSVGContainer {use} at (164.89,357.29) size 120.11x30.43
-          RenderSVGContainer {g} at (164.89,357.29) size 120.11x30.43
-            RenderPath {path} at (164.89,357.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (164.89,350) size 120.11x45
+          RenderSVGContainer {g} at (164.89,350) size 120.11x45
+            RenderPath {path} at (164.89,350) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (17,8) size 134x52 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 134x52
             RenderSVGInlineText {#text} at (-15,-18) size 134x52
@@ -174,9 +174,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 84x13
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 18 width 84.00: "word-spacing=\"2em\""
       RenderSVGContainer {g} at (302,340) size 133x103 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,350.00)}]
-        RenderSVGContainer {use} at (314.89,357.29) size 120.11x30.43
-          RenderSVGContainer {g} at (314.89,357.29) size 120.11x30.43
-            RenderPath {path} at (314.89,357.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (314.89,350) size 120.11x45
+          RenderSVGContainer {g} at (314.89,350) size 120.11x45
+            RenderPath {path} at (314.89,350) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (18,10) size 132x54 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 132x54
             RenderSVGInlineText {#text} at (-16,-20) size 132x54
diff --git a/LayoutTests/platform/mac/svg/batik/text/verticalText-expected.txt b/LayoutTests/platform/mac/svg/batik/text/verticalText-expected.txt
index 1fbcb7c..ec728c9 100644
--- a/LayoutTests/platform/mac/svg/batik/text/verticalText-expected.txt
+++ b/LayoutTests/platform/mac/svg/batik/text/verticalText-expected.txt
@@ -1,10 +1,10 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 450x500
-  RenderSVGRoot {svg} at (20,26) size 410x465
+  RenderSVGRoot {svg} at (20,26) size 410x469
     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-      RenderPath {path} at (14.95,7.04) size 315.11x30.91 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,0.00,1000.00,100.00 C1100.00,200.00,1200.00,300.00,1300.00,200.00 C1400.00,100.00,1500.00,0.00,1600.00,100.00 C1700.00,200.00,1800.00,300.00,1900.00,200.00 C2000.00,100.00,2100.00,0.00,2200.00,100.00"]
-    RenderSVGContainer {g} at (20,26) size 410x465
+      RenderPath {path} at (14.95,0) size 315.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,0.00,1000.00,100.00 C1100.00,200.00,1200.00,300.00,1300.00,200.00 C1400.00,100.00,1500.00,0.00,1600.00,100.00 C1700.00,200.00,1800.00,300.00,1900.00,200.00 C2000.00,100.00,2100.00,0.00,2200.00,100.00"]
+    RenderSVGContainer {g} at (20,26) size 410x469
       RenderSVGText {text} at (163,40) size 124x17 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-14) size 124x17
           chunk 1 (middle anchor) text run 1 at (163.00,40.00) startOffset 0 endOffset 18 width 124.00: "Vertical Text Test"
@@ -60,10 +60,10 @@ layer at (0,0) size 450x500
             chunk 1 (vertical) text run 2 at (396.00,159.00) startOffset 0 endOffset 10 height 170.00: "orientated"
         RenderSVGInlineText {#text} at (9,241) size 17x53
           chunk 1 (vertical) text run 3 at (383.00,320.00) startOffset 0 endOffset 8 height 136.00: " element"
-      RenderSVGContainer {g} at (51,455) size 319.11x36 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,450.00)}]
-        RenderSVGContainer {use} at (54.89,457.29) size 315.21x30.43
-          RenderSVGContainer {g} at (54.89,457.29) size 315.21x30.43
-            RenderPath {path} at (54.89,457.29) size 315.21x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,0.00,1000.00,100.00 C1100.00,200.00,1200.00,300.00,1300.00,200.00 C1400.00,100.00,1500.00,0.00,1600.00,100.00 C1700.00,200.00,1800.00,300.00,1900.00,200.00 C2000.00,100.00,2100.00,0.00,2200.00,100.00"]
+      RenderSVGContainer {g} at (51,450) size 319.11x45 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,450.00)}]
+        RenderSVGContainer {use} at (54.89,450) size 315.21x45
+          RenderSVGContainer {g} at (54.89,450) size 315.21x45
+            RenderPath {path} at (54.89,450) size 315.21x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,0.00,1000.00,100.00 C1100.00,200.00,1200.00,300.00,1300.00,200.00 C1400.00,100.00,1500.00,0.00,1600.00,100.00 C1700.00,200.00,1800.00,300.00,1900.00,200.00 C2000.00,100.00,2100.00,0.00,2200.00,100.00"]
         RenderSVGText {text} at (19,8) size 297x36 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 297x36
             RenderSVGInlineText {#text} at (-8,-3) size 297x36
diff --git a/LayoutTests/platform/mac/svg/batik/text/verticalTextOnPath-expected.txt b/LayoutTests/platform/mac/svg/batik/text/verticalTextOnPath-expected.txt
index 00ee85b..f113d3e 100644
--- a/LayoutTests/platform/mac/svg/batik/text/verticalTextOnPath-expected.txt
+++ b/LayoutTests/platform/mac/svg/batik/text/verticalTextOnPath-expected.txt
@@ -7,12 +7,12 @@ layer at (0,0) size 450x500
         RenderSVGInlineText {#text} at (0,-14) size 182x17
           chunk 1 (middle anchor) text run 1 at (134.00,40.00) startOffset 0 endOffset 28 width 182.00: "Vertical text on a path test"
       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-        RenderPath {path} at (14.95,7.04) size 120.05x30.91 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
-        RenderPath {path} at (29.85,12.25) size 90.30x37.75 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+        RenderPath {path} at (14.95,0) size 120.05x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderPath {path} at (29.85,0) size 90.30x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
       RenderSVGContainer {g} at (11,58) size 124x95 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,70.00)}]
-        RenderSVGContainer {use} at (14.89,77.29) size 120.11x30.43
-          RenderSVGContainer {g} at (14.89,77.29) size 120.11x30.43
-            RenderPath {path} at (14.89,77.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (14.89,70) size 120.11x45
+          RenderSVGContainer {g} at (14.89,70) size 120.11x45
+            RenderPath {path} at (14.89,70) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (18,9) size 85x58 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 85x58
             RenderSVGInlineText {#text} at (-7,-9) size 36x33
@@ -34,9 +34,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 100x13
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 24 width 100.00: "glyph-orientation=\"auto\""
       RenderSVGContainer {g} at (150,70) size 137x83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,70.00)}]
-        RenderSVGContainer {use} at (164.89,77.29) size 120.11x30.43
-          RenderSVGContainer {g} at (164.89,77.29) size 120.11x30.43
-            RenderPath {path} at (164.89,77.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (164.89,70) size 120.11x45
+          RenderSVGContainer {g} at (164.89,70) size 120.11x45
+            RenderPath {path} at (164.89,70) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (21,9) size 116x39 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 116x39
             RenderSVGInlineText {#text} at (-21,-9) size 0x0
@@ -58,9 +58,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 102x13
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 24 width 102.00: "glyph-orientation=\"0deg\""
       RenderSVGContainer {g} at (300,70) size 147x83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,70.00)}]
-        RenderSVGContainer {use} at (314.89,77.29) size 120.11x30.43
-          RenderSVGContainer {g} at (314.89,77.29) size 120.11x30.43
-            RenderPath {path} at (314.89,77.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (314.89,70) size 120.11x45
+          RenderSVGContainer {g} at (314.89,70) size 120.11x45
+            RenderPath {path} at (314.89,70) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (23,10) size 76x31 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 76x31
             RenderSVGInlineText {#text} at (-23,-10) size 0x0
@@ -81,10 +81,10 @@ layer at (0,0) size 450x500
         RenderSVGText {text} at (35,80) size 112x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,-10) size 112x13
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 26 width 112.00: "glyph-orientation=\"180deg\""
-      RenderSVGContainer {g} at (14.89,176) size 132.11x77 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,170.00)}]
-        RenderSVGContainer {use} at (14.89,177.29) size 120.11x30.43
-          RenderSVGContainer {g} at (14.89,177.29) size 120.11x30.43
-            RenderPath {path} at (14.89,177.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+      RenderSVGContainer {g} at (14.89,170) size 132.11x83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,170.00)}]
+        RenderSVGContainer {use} at (14.89,170) size 120.11x45
+          RenderSVGContainer {g} at (14.89,170) size 120.11x45
+            RenderPath {path} at (14.89,170) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (75,15) size 71x41 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 71x41
             RenderSVGInlineText {#text} at (-5,7) size 40x25
@@ -106,9 +106,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 112x13
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 26 width 112.00: "glyph-orientation=\"270deg\""
       RenderSVGContainer {g} at (164.89,163) size 122.11x90 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,170.00)}]
-        RenderSVGContainer {use} at (164.89,177.29) size 120.11x30.43
-          RenderSVGContainer {g} at (164.89,177.29) size 120.11x30.43
-            RenderPath {path} at (164.89,177.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (164.89,170) size 120.11x45
+          RenderSVGContainer {g} at (164.89,170) size 120.11x45
+            RenderPath {path} at (164.89,170) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (23,10) size 118x49 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 118x49
             RenderSVGInlineText {#text} at (-8,-5) size 31x25
@@ -129,10 +129,10 @@ layer at (0,0) size 450x500
         RenderSVGText {text} at (35,80) size 102x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,-10) size 102x13
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 24 width 102.00: "glyph-orientation=\"0deg\""
-      RenderSVGContainer {g} at (314.89,173) size 127.11x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,170.00)}]
-        RenderSVGContainer {use} at (314.89,177.29) size 120.11x30.43
-          RenderSVGContainer {g} at (314.89,177.29) size 120.11x30.43
-            RenderPath {path} at (314.89,177.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+      RenderSVGContainer {g} at (314.89,170) size 127.11x83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,170.00)}]
+        RenderSVGContainer {use} at (314.89,170) size 120.11x45
+          RenderSVGContainer {g} at (314.89,170) size 120.11x45
+            RenderPath {path} at (314.89,170) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (55,11) size 83x42 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 83x42
             RenderSVGInlineText {#text} at (-5,-8) size 35x36
@@ -154,9 +154,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 107x13
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 25 width 107.00: "glyph-orientation=\"90deg\""
       RenderSVGContainer {g} at (0,270) size 147x83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,270.00)}]
-        RenderSVGContainer {use} at (14.89,277.29) size 120.11x30.43
-          RenderSVGContainer {g} at (14.89,277.29) size 120.11x30.43
-            RenderPath {path} at (14.89,277.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (14.89,270) size 120.11x45
+          RenderSVGContainer {g} at (14.89,270) size 120.11x45
+            RenderPath {path} at (14.89,270) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (51,9) size 127x39 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 127x39
             RenderSVGInlineText {#text} at (-10,-7) size 75x37
@@ -178,9 +178,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 112x13
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 26 width 112.00: "glyph-orientation=\"180deg\""
       RenderSVGContainer {g} at (163,261) size 122x82 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,270.00)}]
-        RenderSVGContainer {use} at (164.89,277.29) size 120.11x30.43
-          RenderSVGContainer {g} at (164.89,277.29) size 120.11x30.43
-            RenderPath {path} at (164.89,277.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (164.89,270) size 120.11x45
+          RenderSVGContainer {g} at (164.89,270) size 120.11x45
+            RenderPath {path} at (164.89,270) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (18,8) size 71x48 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 71x48
             RenderSVGInlineText {#text} at (-5,1) size 24x24
@@ -199,9 +199,9 @@ layer at (0,0) size 450x500
           RenderSVGInlineText {#text} at (0,-10) size 86x13
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 20 width 86.00: "text-anchor=\"middle\""
       RenderSVGContainer {g} at (300,270) size 142x83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,270.00)}]
-        RenderSVGContainer {use} at (314.89,277.29) size 120.11x30.43
-          RenderSVGContainer {g} at (314.89,277.29) size 120.11x30.43
-            RenderPath {path} at (314.89,277.29) size 120.11x30.43 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+        RenderSVGContainer {use} at (314.89,270) size 120.11x45
+          RenderSVGContainer {g} at (314.89,270) size 120.11x45
+            RenderPath {path} at (314.89,270) size 120.11x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
         RenderSVGText {text} at (17,15) size 43x34 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 43x34
             RenderSVGInlineText {#text} at (-17,-15) size 0x0
@@ -222,10 +222,10 @@ layer at (0,0) size 450x500
         RenderSVGText {text} at (35,80) size 107x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,-10) size 107x13
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 25 width 107.00: "glyph-orientation=\"90deg\""
-      RenderSVGContainer {g} at (22,370.67) size 118x87.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,370.00)}]
-        RenderSVGContainer {use} at (39.70,370.67) size 90.60x49.33
-          RenderSVGContainer {g} at (39.70,370.67) size 90.60x49.33
-            RenderPath {path} at (39.70,370.67) size 90.60x49.33 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+      RenderSVGContainer {g} at (22,370) size 118x88 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,370.00)}]
+        RenderSVGContainer {use} at (39.70,370) size 90.60x50
+          RenderSVGContainer {g} at (39.70,370) size 90.60x50
+            RenderPath {path} at (39.70,370) size 90.60x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
         RenderSVGText {text} at (30,12) size 118x49 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 118x49
             RenderSVGTSpan {tspan} at (0,0) size 36x42
@@ -248,10 +248,10 @@ layer at (0,0) size 450x500
         RenderSVGText {text} at (20,85) size 100x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,-10) size 100x13
             chunk 1 text run 1 at (20.00,85.00) startOffset 0 endOffset 24 width 100.00: "glyph-orientation=\"auto\""
-      RenderSVGContainer {g} at (318,370.67) size 109x77.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,370.00)}]
-        RenderSVGContainer {use} at (329.70,370.67) size 90.60x49.33
-          RenderSVGContainer {g} at (329.70,370.67) size 90.60x49.33
-            RenderPath {path} at (329.70,370.67) size 90.60x49.33 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+      RenderSVGContainer {g} at (318,370) size 109x78 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,370.00)}]
+        RenderSVGContainer {use} at (329.70,370) size 90.60x50
+          RenderSVGContainer {g} at (329.70,370) size 90.60x50
+            RenderPath {path} at (329.70,370) size 90.60x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
         RenderSVGText {text} at (30,12) size 109x55 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 109x55
             RenderSVGTSpan {tspan} at (0,0) size 47x45
@@ -271,9 +271,9 @@ layer at (0,0) size 450x500
             chunk 1 text run 1 at (20.00,75.00) startOffset 0 endOffset 24 width 100.00: "glyph-orientation=\"auto\""
       RenderSVGContainer {g} at (179.25,358.75) size 100.75x124.25 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,370.00)}]
         RenderSVGContainer {g} at (179.25,358.75) size 90.98x90.75 [transform={m=((0.75,0.00)(0.00,0.75)) t=(0.00,0.00)}]
-          RenderSVGContainer {use} at (202.27,370.50) size 67.95x37
-            RenderSVGContainer {g} at (202.27,370.50) size 67.95x37
-              RenderPath {path} at (202.27,370.50) size 67.95x37 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
+          RenderSVGContainer {use} at (202.27,370) size 67.95x37.50
+            RenderSVGContainer {g} at (202.27,370) size 67.95x37.50
+              RenderPath {path} at (202.27,370) size 67.95x37.50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M100.00,100.00 C100.00,0.00,400.00,0.00,400.00,100.00"]
           RenderSVGText {text} at (-13,-15) size 92x121 contains 1 chunk(s)
             RenderSVGInlineText {#text} at (12,0) size 24x97
               chunk 1 (vertical) text run 1 at (-13.00,-15.00) startOffset 0 endOffset 12 height 276.00: "before path "
diff --git a/LayoutTests/platform/mac/svg/css/composite-shadow-example-expected.txt b/LayoutTests/platform/mac/svg/css/composite-shadow-example-expected.txt
index 8a7ce55..20ee341 100644
--- a/LayoutTests/platform/mac/svg/css/composite-shadow-example-expected.txt
+++ b/LayoutTests/platform/mac/svg/css/composite-shadow-example-expected.txt
@@ -3,10 +3,10 @@ layer at (0,0) size 785x616
 layer at (0,0) size 785x616
   RenderBlock {HTML} at (0,0) size 785x616
     RenderBody {BODY} at (8,8) size 769x600
-      RenderSVGRoot {svg} at (40.19,36.70) size 413.43x128.98
+      RenderSVGRoot {svg} at (40.19,36.70) size 415.36x128.98
         RenderSVGContainer {g} at (40.19,36.70) size 135.62x128.98
           RenderPath {path} at (40.19,36.70) size 135.62x128.98 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,100.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=10.00]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,30.00 L-35.27,48.54 L-28.53,9.27 L-57.06,-18.54 L-17.63,-24.27 L-0.00,-60.00 L17.63,-24.27 L57.06,-18.54 L28.53,9.27 L35.27,48.54 Z"]
         RenderSVGContainer {g} at (200.68,46.49) size 117.09x113.83
           RenderPath {path} at (200.68,46.49) size 117.09x113.83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,100.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=10.00] [dash array={20.00}]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,30.00 L-35.27,48.54 L-28.53,9.27 L-57.06,-18.54 L-17.63,-24.27 L-0.00,-60.00 L17.63,-24.27 L57.06,-18.54 L28.53,9.27 L35.27,48.54 Z"]
-        RenderSVGContainer {g} at (349.70,46.70) size 103.91x110.89
-          RenderPath {path} at (349.70,46.70) size 103.91x110.89 [transform={m=((1.00,0.00)(0.00,1.00)) t=(400.00,100.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=10.00] [dash array={20.00}]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,25.00 L-29.39,40.45 L-23.78,7.73 L-47.55,-15.45 L-14.69,-20.23 L-0.00,-50.00 L14.69,-20.23 L47.55,-15.45 L23.78,7.73 L29.39,40.45 Z"]
+        RenderSVGContainer {g} at (349.70,46.70) size 105.85x110.89
+          RenderPath {path} at (349.70,46.70) size 105.85x110.89 [transform={m=((1.00,0.00)(0.00,1.00)) t=(400.00,100.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=10.00] [dash array={20.00}]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,25.00 L-29.39,40.45 L-23.78,7.73 L-47.55,-15.45 L-14.69,-20.23 L-0.00,-50.00 L14.69,-20.23 L47.55,-15.45 L23.78,7.73 L29.39,40.45 Z"]
diff --git a/LayoutTests/platform/mac/svg/css/composite-shadow-with-opacity-expected.txt b/LayoutTests/platform/mac/svg/css/composite-shadow-with-opacity-expected.txt
index bf030fc..6376956 100644
--- a/LayoutTests/platform/mac/svg/css/composite-shadow-with-opacity-expected.txt
+++ b/LayoutTests/platform/mac/svg/css/composite-shadow-with-opacity-expected.txt
@@ -4,10 +4,10 @@ layer at (0,0) size 785x616
   RenderBlock {HTML} at (0,0) size 785x616
     RenderBody {BODY} at (8,8) size 769x600
 layer at (8,8) size 769x600
-  RenderSVGRoot {svg} at (40.19,36.70) size 413.43x128.98 [opacity=0.50]
+  RenderSVGRoot {svg} at (40.19,36.70) size 415.36x128.98 [opacity=0.50]
     RenderSVGContainer {g} at (40.19,36.70) size 135.62x128.98
       RenderPath {path} at (40.19,36.70) size 135.62x128.98 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,100.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=10.00]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,30.00 L-35.27,48.54 L-28.53,9.27 L-57.06,-18.54 L-17.63,-24.27 L-0.00,-60.00 L17.63,-24.27 L57.06,-18.54 L28.53,9.27 L35.27,48.54 Z"]
     RenderSVGContainer {g} at (200.68,46.49) size 117.09x113.83
       RenderPath {path} at (200.68,46.49) size 117.09x113.83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,100.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=10.00] [dash array={20.00}]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,30.00 L-35.27,48.54 L-28.53,9.27 L-57.06,-18.54 L-17.63,-24.27 L-0.00,-60.00 L17.63,-24.27 L57.06,-18.54 L28.53,9.27 L35.27,48.54 Z"]
-    RenderSVGContainer {g} at (349.70,46.70) size 103.91x110.89
-      RenderPath {path} at (349.70,46.70) size 103.91x110.89 [transform={m=((1.00,0.00)(0.00,1.00)) t=(400.00,100.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=10.00] [dash array={20.00}]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,25.00 L-29.39,40.45 L-23.78,7.73 L-47.55,-15.45 L-14.69,-20.23 L-0.00,-50.00 L14.69,-20.23 L47.55,-15.45 L23.78,7.73 L29.39,40.45 Z"]
+    RenderSVGContainer {g} at (349.70,46.70) size 105.85x110.89
+      RenderPath {path} at (349.70,46.70) size 105.85x110.89 [transform={m=((1.00,0.00)(0.00,1.00)) t=(400.00,100.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=10.00] [dash array={20.00}]}] [fill={[type=SOLID] [color=#999999]}] [data="M0.00,25.00 L-29.39,40.45 L-23.78,7.73 L-47.55,-15.45 L-14.69,-20.23 L-0.00,-50.00 L14.69,-20.23 L47.55,-15.45 L23.78,7.73 L29.39,40.45 Z"]
diff --git a/LayoutTests/platform/mac/svg/custom/animate-path-morphing-expected.txt b/LayoutTests/platform/mac/svg/custom/animate-path-morphing-expected.txt
index 217ec86..b5af592 100644
--- a/LayoutTests/platform/mac/svg/custom/animate-path-morphing-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/animate-path-morphing-expected.txt
@@ -1,5 +1,5 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (8.67,9) size 149.31x183.18
-    RenderPath {path} at (8.67,9) size 149.31x183.18 [stroke={[type=SOLID] [color=#FF0000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M140.00,40.00 L100.00,40.00 L100.00,10.00 C10.00,10.00,10.00,90.00,100.00,90.00 L100.00,60.00 L140.00,60.00 M50.00,140.00 C180.00,70.00,180.00,195.00,100.00,190.00"]
+  RenderSVGRoot {svg} at (8.67,9) size 171.33x186
+    RenderPath {path} at (8.67,9) size 171.33x186 [stroke={[type=SOLID] [color=#FF0000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M140.00,40.00 L100.00,40.00 L100.00,10.00 C10.00,10.00,10.00,90.00,100.00,90.00 L100.00,60.00 L140.00,60.00 M50.00,140.00 C180.00,70.00,180.00,195.00,100.00,190.00"]
diff --git a/LayoutTests/platform/mac/svg/custom/control-points-for-S-and-T-expected.txt b/LayoutTests/platform/mac/svg/custom/control-points-for-S-and-T-expected.txt
index 3fac185..2ae839e 100644
--- a/LayoutTests/platform/mac/svg/custom/control-points-for-S-and-T-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/control-points-for-S-and-T-expected.txt
@@ -1,6 +1,6 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (49.51,32.32) size 150.93x218.04
-    RenderPath {path} at (49.51,32.32) size 150.93x101.64 [stroke={[type=SOLID] [color=#FF0000]}] [data="M50.00,50.00 C66.67,116.67,100.00,133.33,150.00,100.00 C150.00,100.00,175.00,0.00,200.00,50.00"]
-    RenderPath {path} at (49.55,136.26) size 150.80x114.09 [stroke={[type=SOLID] [color=#008000]}] [data="M50.00,150.00 C75.00,100.00,75.00,250.00,150.00,200.00 C150.00,200.00,166.67,216.67,200.00,250.00"]
+  RenderSVGRoot {svg} at (49.51,0) size 150.93x250.35
+    RenderPath {path} at (49.51,0) size 150.93x133.96 [stroke={[type=SOLID] [color=#FF0000]}] [data="M50.00,50.00 C66.67,116.67,100.00,133.33,150.00,100.00 C150.00,100.00,175.00,0.00,200.00,50.00"]
+    RenderPath {path} at (49.55,100) size 150.80x150.35 [stroke={[type=SOLID] [color=#008000]}] [data="M50.00,150.00 C75.00,100.00,75.00,250.00,150.00,200.00 C150.00,200.00,166.67,216.67,200.00,250.00"]
diff --git a/LayoutTests/platform/mac/svg/custom/dasharrayOrigin-expected.txt b/LayoutTests/platform/mac/svg/custom/dasharrayOrigin-expected.txt
index 156cf7e..dbcbd57 100644
--- a/LayoutTests/platform/mac/svg/custom/dasharrayOrigin-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/dasharrayOrigin-expected.txt
@@ -3,8 +3,8 @@ layer at (0,0) size 800x600
 layer at (0,0) size 800x600
   RenderSVGRoot {svg} at (27.50,25) size 147.50x147.50
     RenderPath {rect} at (42.50,42.50) size 115x115 [stroke={[type=SOLID] [color=#D3D3D3] [stroke width=15.00]}] [data="M100.00,50.00 C127.60,50.00,150.00,72.40,150.00,100.00 C150.00,127.60,127.60,150.00,100.00,150.00 C72.40,150.00,50.00,127.60,50.00,100.00 C50.00,72.40,72.40,50.00,100.00,50.00 Z"]
-    RenderPath {rect} at (100,42.50) size 57.50x111.68 [stroke={[type=SOLID] [color=#008000] [stroke width=15.00] [dash array={100.00, 20.00, 20.00, 1000.00}]}] [data="M100.00,50.00 C127.60,50.00,150.00,72.40,150.00,100.00 C150.00,127.60,127.60,150.00,100.00,150.00 C72.40,150.00,50.00,127.60,50.00,100.00 C50.00,72.40,72.40,50.00,100.00,50.00 Z"]
+    RenderPath {rect} at (50,42.50) size 107.50x111.68 [stroke={[type=SOLID] [color=#008000] [stroke width=15.00] [dash array={100.00, 20.00, 20.00, 1000.00}]}] [data="M100.00,50.00 C127.60,50.00,150.00,72.40,150.00,100.00 C150.00,127.60,127.60,150.00,100.00,150.00 C72.40,150.00,50.00,127.60,50.00,100.00 C50.00,72.40,72.40,50.00,100.00,50.00 Z"]
     RenderPath {circle} at (47.50,47.50) size 105.00x105.00 [stroke={[type=SOLID] [color=#808080] [stroke width=5.00]}] [data="M150.00,100.00 L149.90,103.14 L149.61,106.27 L149.11,109.37 L148.43,112.43 L147.55,115.45 L146.49,118.41 L145.24,121.29 L143.82,124.09 L142.22,126.79 L140.45,129.39 L138.53,131.87 L136.45,134.23 L134.23,136.45 L131.87,138.53 L129.39,140.45 L126.79,142.22 L124.09,143.82 L121.29,145.24 L118.41,146.49 L115.45,147.55 L112.43,148.43 L109.37,149.11 L106.27,149.61 L103.14,149.90 L100.00,150.00 L96.86,149.90 L93.73,149.61 L90.63,149.11 L87.57,148.43 L84.55,147.55 L81.59,146.49 L78.71,145.24 L75.91,143.82 L73.21,142.22 L70.61,140.45 L68.13,138.53 L65.77,136.45 L63.55,134.23 L61.47,131.87 L59.55,129.39 L57.78,126.79 L56.18,124.09 L54.76,121.29 L53.51,118.41 L52.45,115.45 L51.57,112.43 L50.89,109.37 L50.39,106.27 L50.10,103.14 L50.00,100.00 L50.10,96.86 L50.39,93.73 L50.89,90.63 L51.57,87.57 L52.45,84.55 L53.51,81.59 L54.76,78.71 L56.18,75.91 L57.78,73.21 L59.55,70.61 L61.47,68.13 L63.55,65.77 L65.77,63.55 L68.13,61.47 L70.61,59.55 L73.21,57.78 L75.91,56.18 L78.71,54.76 L81.59,53.51 L84.55,52.45 L87.57,51.57 L90.63,50.89 L93.73,50.39 L96.86,50.10 L100.00,50.00 L103.14,50.10 L106.27,50.39 L109.37,50.89 L112.43,51.57 L115.45,52.45 L118.41,53.51 L121.29,54.76 L124.09,56.18 L126.79,57.78 L129.39,59.55 L131.87,61.47 L134.23,63.55 L136.45,65.77 L138.53,68.13 L140.45,70.61 L142.22,73.21 L143.82,75.91 L145.24,78.71 L146.49,81.59 L147.55,84.55 L148.43,87.57 L149.11,90.63 L149.61,93.73 L149.90,96.86 Z"]
-    RenderPath {circle} at (50.55,99.92) size 101.95x52.58 [stroke={[type=SOLID] [color=#FF0000] [stroke width=5.00] [dash array={100.00, 20.00, 20.00, 1000.00}]}] [data="M150.00,100.00 L149.90,103.14 L149.61,106.27 L149.11,109.37 L148.43,112.43 L147.55,115.45 L146.49,118.41 L145.24,121.29 L143.82,124.09 L142.22,126.79 L140.45,129.39 L138.53,131.87 L136.45,134.23 L134.23,136.45 L131.87,138.53 L129.39,140.45 L126.79,142.22 L124.09,143.82 L121.29,145.24 L118.41,146.49 L115.45,147.55 L112.43,148.43 L109.37,149.11 L106.27,149.61 L103.14,149.90 L100.00,150.00 L96.86,149.90 L93.73,149.61 L90.63,149.11 L87.57,148.43 L84.55,147.55 L81.59,146.49 L78.71,145.24 L75.91,143.82 L73.21,142.22 L70.61,140.45 L68.13,138.53 L65.77,136.45 L63.55,134.23 L61.47,131.87 L59.55,129.39 L57.78,126.79 L56.18,124.09 L54.76,121.29 L53.51,118.41 L52.45,115.45 L51.57,112.43 L50.89,109.37 L50.39,106.27 L50.10,103.14 L50.00,100.00 L50.10,96.86 L50.39,93.73 L50.89,90.63 L51.57,87.57 L52.45,84.55 L53.51,81.59 L54.76,78.71 L56.18,75.91 L57.78,73.21 L59.55,70.61 L61.47,68.13 L63.55,65.77 L65.77,63.55 L68.13,61.47 L70.61,59.55 L73.21,57.78 L75.91,56.18 L78.71,54.76 L81.59,53.51 L84.55,52.45 L87.57,51.57 L90.63,50.89 L93.73,50.39 L96.86,50.10 L100.00,50.00 L103.14,50.10 L106.27,50.39 L109.37,50.89 L112.43,51.57 L115.45,52.45 L118.41,53.51 L121.29,54.76 L124.09,56.18 L126.79,57.78 L129.39,59.55 L131.87,61.47 L134.23,63.55 L136.45,65.77 L138.53,68.13 L140.45,70.61 L142.22,73.21 L143.82,75.91 L145.24,78.71 L146.49,81.59 L147.55,84.55 L148.43,87.57 L149.11,90.63 L149.61,93.73 L149.90,96.86 Z"]
+    RenderPath {circle} at (50,50) size 102.50x102.50 [stroke={[type=SOLID] [color=#FF0000] [stroke width=5.00] [dash array={100.00, 20.00, 20.00, 1000.00}]}] [data="M150.00,100.00 L149.90,103.14 L149.61,106.27 L149.11,109.37 L148.43,112.43 L147.55,115.45 L146.49,118.41 L145.24,121.29 L143.82,124.09 L142.22,126.79 L140.45,129.39 L138.53,131.87 L136.45,134.23 L134.23,136.45 L131.87,138.53 L129.39,140.45 L126.79,142.22 L124.09,143.82 L121.29,145.24 L118.41,146.49 L115.45,147.55 L112.43,148.43 L109.37,149.11 L106.27,149.61 L103.14,149.90 L100.00,150.00 L96.86,149.90 L93.73,149.61 L90.63,149.11 L87.57,148.43 L84.55,147.55 L81.59,146.49 L78.71,145.24 L75.91,143.82 L73.21,142.22 L70.61,140.45 L68.13,138.53 L65.77,136.45 L63.55,134.23 L61.47,131.87 L59.55,129.39 L57.78,126.79 L56.18,124.09 L54.76,121.29 L53.51,118.41 L52.45,115.45 L51.57,112.43 L50.89,109.37 L50.39,106.27 L50.10,103.14 L50.00,100.00 L50.10,96.86 L50.39,93.73 L50.89,90.63 L51.57,87.57 L52.45,84.55 L53.51,81.59 L54.76,78.71 L56.18,75.91 L57.78,73.21 L59.55,70.61 L61.47,68.13 L63.55,65.77 L65.77,63.55 L68.13,61.47 L70.61,59.55 L73.21,57.78 L75.91,56.18 L78.71,54.76 L81.59,53.51 L84.55,52.45 L87.57,51.57 L90.63,50.89 L93.73,50.39 L96.86,50.10 L100.00,50.00 L103.14,50.10 L106.27,50.39 L109.37,50.89 L112.43,51.57 L115.45,52.45 L118.41,53.51 L121.29,54.76 L124.09,56.18 L126.79,57.78 L129.39,59.55 L131.87,61.47 L134.23,63.55 L136.45,65.77 L138.53,68.13 L140.45,70.61 L142.22,73.21 L143.82,75.91 L145.24,78.71 L146.49,81.59 L147.55,84.55 L148.43,87.57 L149.11,90.63 L149.61,93.73 L149.90,96.86 Z"]
     RenderPath {rect} at (27.50,27.50) size 145x145 [stroke={[type=SOLID] [color=#D3D3D3] [stroke width=5.00]}] [data="M50.00,30.00 L150.00,30.00 C161.04,30.00,170.00,38.96,170.00,50.00 L170.00,150.00 C170.00,161.04,161.04,170.00,150.00,170.00 L50.00,170.00 C38.96,170.00,30.00,161.04,30.00,150.00 L30.00,50.00 C30.00,38.96,38.96,30.00,50.00,30.00 Z"]
-    RenderPath {rect} at (50,25) size 125x33.58 [stroke={[type=SOLID] [color=#0000FF] [stroke width=10.00] [dash array={100.00, 20.00, 20.00, 1000.00}]}] [data="M50.00,30.00 L150.00,30.00 C161.04,30.00,170.00,38.96,170.00,50.00 L170.00,150.00 C170.00,161.04,161.04,170.00,150.00,170.00 L50.00,170.00 C38.96,170.00,30.00,161.04,30.00,150.00 L30.00,50.00 C30.00,38.96,38.96,30.00,50.00,30.00 Z"]
+    RenderPath {rect} at (30,25) size 145x145 [stroke={[type=SOLID] [color=#0000FF] [stroke width=10.00] [dash array={100.00, 20.00, 20.00, 1000.00}]}] [data="M50.00,30.00 L150.00,30.00 C161.04,30.00,170.00,38.96,170.00,50.00 L170.00,150.00 C170.00,161.04,161.04,170.00,150.00,170.00 L50.00,170.00 C38.96,170.00,30.00,161.04,30.00,150.00 L30.00,50.00 C30.00,38.96,38.96,30.00,50.00,30.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.checksum b/LayoutTests/platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.checksum
new file mode 100644
index 0000000..3eacf55
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.checksum
@@ -0,0 +1 @@
+8d89f94f4f4bc2d16b7fcc5d2cb1a63f
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.png b/LayoutTests/platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.png
new file mode 100644
index 0000000..834d268
Binary files /dev/null and b/LayoutTests/platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.txt b/LayoutTests/platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.txt
new file mode 100644
index 0000000..168e5c5
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.txt
@@ -0,0 +1,6 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 300x300
+  RenderSVGRoot {svg} at (50,30) size 125.50x90
+    RenderPath {line} at (174.50,30) size 1x90 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M175.00,30.00 L175.00,120.00"]
+    RenderPath {path} at (50,50) size 100x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-150.00,0.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=10.00] [dash offset=210.00] [dash array={210.00}]}] [fill={[type=SOLID] [color=#008000]}] [data="M200.00,50.00 L300.00,75.00 L200.00,100.00"]
diff --git a/LayoutTests/platform/mac/svg/custom/path-textPath-simulation-expected.txt b/LayoutTests/platform/mac/svg/custom/path-textPath-simulation-expected.txt
index 68bd71e..a66e8fc 100644
--- a/LayoutTests/platform/mac/svg/custom/path-textPath-simulation-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/path-textPath-simulation-expected.txt
@@ -1,12 +1,12 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (79.72,217.57) size 649.08x164.86
+  RenderSVGRoot {svg} at (79.72,180) size 649.08x240
     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
       RenderPath {path} at (100,0) size 800x300 [fill={[type=SOLID] [color=#000000]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
-    RenderSVGContainer {use} at (79.72,217.57) size 640.28x164.86
-      RenderSVGContainer {g} at (79.72,217.57) size 640.28x164.86
-        RenderPath {path} at (79.72,217.57) size 640.28x164.86 [stroke={[type=SOLID] [color=#FF0000]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
+    RenderSVGContainer {use} at (79.72,180) size 640.28x240
+      RenderSVGContainer {g} at (79.72,180) size 640.28x240
+        RenderPath {path} at (79.72,180) size 640.28x240 [stroke={[type=SOLID] [color=#FF0000]}] [data="M100.00,200.00 C200.00,100.00,300.00,0.00,400.00,100.00 C500.00,200.00,600.00,300.00,700.00,200.00 C800.00,100.00,900.00,100.00,900.00,100.00"]
     RenderSVGContainer {g} at (80,248.80) size 648.80x94.40
       RenderSVGText {text} at (100,200) size 12x18 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-14) size 12x18
diff --git a/LayoutTests/platform/mac/svg/text/text-path-01-b-expected.txt b/LayoutTests/platform/mac/svg/text/text-path-01-b-expected.txt
index 92359fa..66989be 100644
--- a/LayoutTests/platform/mac/svg/text/text-path-01-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/text/text-path-01-b-expected.txt
@@ -4,22 +4,22 @@ layer at (0,0) size 800x600
   RenderSVGRoot {svg} at (-15,-11.67) size 814.17x610.83
     RenderSVGContainer {g} at (-15,-11.67) size 712.17x497.50
       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-        RenderPath {path} at (198.53,22.02) size 219.77x86.21 [stroke={[type=SOLID] [color=#0000FF]}] [data="M199.00,89.30 C206.60,66.60,235.80,13.20,270.00,30.30 C286.60,38.60,298.90,59.40,310.00,73.30 C321.70,87.90,338.60,99.00,356.00,103.30 C387.30,111.10,396.60,90.40,418.00,74.30"]
-        RenderPath {path} at (33.03,78.52) size 219.77x85.14 [stroke={[type=SOLID] [color=#0000FF]}] [data="M33.50,145.80 C41.00,123.00,70.30,69.70,104.50,86.80 C121.00,95.00,133.00,116.00,144.50,129.80 C156.20,144.40,173.00,155.50,190.50,159.80 C221.80,167.60,231.00,146.90,252.50,130.80"]
+        RenderPath {path} at (198.53,13.20) size 219.77x97.90 [stroke={[type=SOLID] [color=#0000FF]}] [data="M199.00,89.30 C206.60,66.60,235.80,13.20,270.00,30.30 C286.60,38.60,298.90,59.40,310.00,73.30 C321.70,87.90,338.60,99.00,356.00,103.30 C387.30,111.10,396.60,90.40,418.00,74.30"]
+        RenderPath {path} at (33.03,69.70) size 219.77x97.90 [stroke={[type=SOLID] [color=#0000FF]}] [data="M33.50,145.80 C41.00,123.00,70.30,69.70,104.50,86.80 C121.00,95.00,133.00,116.00,144.50,129.80 C156.20,144.40,173.00,155.50,190.50,159.80 C221.80,167.60,231.00,146.90,252.50,130.80"]
         RenderPath {path} at (113,231) size 300x4 [stroke={[type=SOLID] [color=#0000FF] [stroke width=4.00]}] [data="M113.00,233.00 L413.00,233.00"]
       RenderSVGContainer {g} at (280,-11.67) size 417.17x201.67
-        RenderSVGContainer {use} at (330.88,36.70) size 366.29x143.69
-          RenderSVGContainer {g} at (330.88,36.70) size 366.29x143.69
-            RenderPath {path} at (330.88,36.70) size 366.29x143.69 [stroke={[type=SOLID] [color=#0000FF]}] [data="M199.00,89.30 C206.60,66.60,235.80,13.20,270.00,30.30 C286.60,38.60,298.90,59.40,310.00,73.30 C321.70,87.90,338.60,99.00,356.00,103.30 C387.30,111.10,396.60,90.40,418.00,74.30"]
+        RenderSVGContainer {use} at (330.88,22) size 366.29x163.17
+          RenderSVGContainer {g} at (330.88,22) size 366.29x163.17
+            RenderPath {path} at (330.88,22) size 366.29x163.17 [stroke={[type=SOLID] [color=#0000FF]}] [data="M199.00,89.30 C206.60,66.60,235.80,13.20,270.00,30.30 C286.60,38.60,298.90,59.40,310.00,73.30 C321.70,87.90,338.60,99.00,356.00,103.30 C387.30,111.10,396.60,90.40,418.00,74.30"]
         RenderSVGText {text} at (203,27) size 205x121 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 205x121
             RenderSVGInlineText {#text} at (-35,-34) size 205x121
               chunk 1 text run 1 at (203.04,27.04) startOffset 0 endOffset 14 width 226.00: "Text on a path"
           RenderSVGInlineText {#text} at (0,0) size 0x0
       RenderSVGContainer {g} at (-15,81.67) size 500.83x270
-        RenderSVGContainer {use} at (55.04,130.86) size 366.29x141.90
-          RenderSVGContainer {g} at (55.04,130.86) size 366.29x141.90
-            RenderPath {path} at (55.04,130.86) size 366.29x141.90 [stroke={[type=SOLID] [color=#0000FF]}] [data="M33.50,145.80 C41.00,123.00,70.30,69.70,104.50,86.80 C121.00,95.00,133.00,116.00,144.50,129.80 C156.20,144.40,173.00,155.50,190.50,159.80 C221.80,167.60,231.00,146.90,252.50,130.80"]
+        RenderSVGContainer {use} at (55.04,116.17) size 366.29x163.17
+          RenderSVGContainer {g} at (55.04,116.17) size 366.29x163.17
+            RenderPath {path} at (55.04,116.17) size 366.29x163.17 [stroke={[type=SOLID] [color=#0000FF]}] [data="M33.50,145.80 C41.00,123.00,70.30,69.70,104.50,86.80 C121.00,95.00,133.00,116.00,144.50,129.80 C156.20,144.40,173.00,155.50,190.50,159.80 C221.80,167.60,231.00,146.90,252.50,130.80"]
         RenderSVGText {text} at (37,83) size 216x121 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 216x121
             RenderSVGTSpan {tspan} at (0,0) size 57x57
diff --git a/LayoutTests/svg/custom/js-repaint-rect-on-path-with-stroke.svg b/LayoutTests/svg/custom/js-repaint-rect-on-path-with-stroke.svg
new file mode 100644
index 0000000..721dab6
--- /dev/null
+++ b/LayoutTests/svg/custom/js-repaint-rect-on-path-with-stroke.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg onload="setup()" width="300" height="300" xmlns="http://www.w3.org/2000/svg">
+<!-- Tests the correct calculation of repaint rect. The triangle should be on the left hand side of the line. -->
+<script>
+if (window.layoutTestController)
+    layoutTestController.waitUntilDone();
+
+function setup()
+{
+    window.setTimeout("move()", 0);
+}
+
+function move()
+{
+    var path = document.getElementById("path");
+    trafos = path.transform.baseVal;
+    trafos.appendItem(trafos.createSVGTransformFromMatrix(document.documentElement.createSVGMatrix().translate(-150,0)));
+
+    if (window.layoutTestController)
+        layoutTestController.notifyDone();
+}
+</script>
+<line x1="175" y1="30" x2="175" y2="120" stroke="black"/>
+<path id="path" d="M200,50 L300,75 L200,100" style="stroke-width:10;stroke-dasharray:210;stroke-dashoffset:210;fill:green;stroke:black"/>
+
+</svg>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 9895178..1f37d2a 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2010-01-13  Dirk Schulze  <krit at webkit.org>
+
+        Reviewed by Beth Dakin.
+
+        Repaint bug dragging a star shape with a dash stroke
+        https://bugs.webkit.org/show_bug.cgi?id=33406
+
+        Calculation of repaint rects for RenderPath objects was wrong. We must take the
+        union of strokeBoundingBox and objectBoundingBox, since the strokeBoundingBox
+        must not contain the objectBoundingBox. This is mainly visible on dash-arrays for
+        strokes.
+
+        Test: svg/custom/js-repaint-rect-on-path-with-stroke.svg
+
+        * rendering/RenderPath.cpp:
+        (WebCore::RenderPath::strokeBoundingBox):
+
 2010-01-13  Kevin Ollivier  <kevino at theolliviers.com>
 
         [wx] Build fix. Make the XFORM operator work on wx port.
diff --git a/WebCore/rendering/RenderPath.cpp b/WebCore/rendering/RenderPath.cpp
index 30cbedf..8ce87cd 100644
--- a/WebCore/rendering/RenderPath.cpp
+++ b/WebCore/rendering/RenderPath.cpp
@@ -121,11 +121,10 @@ FloatRect RenderPath::strokeBoundingBox() const
     if (!m_cachedLocalStrokeBBox.isEmpty())
         return m_cachedLocalStrokeBBox;
 
-    if (!style()->svgStyle()->hasStroke())
-        m_cachedLocalStrokeBBox = objectBoundingBox();
-    else {
+    m_cachedLocalStrokeBBox = objectBoundingBox();
+    if (style()->svgStyle()->hasStroke()) {
         BoundingRectStrokeStyleApplier strokeStyle(this, style());
-        m_cachedLocalStrokeBBox = m_path.strokeBoundingRect(&strokeStyle);
+        m_cachedLocalStrokeBBox.unite(m_path.strokeBoundingRect(&strokeStyle));
     }
 
     return m_cachedLocalStrokeBBox;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list