[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.21-584-g1e41756

krit at webkit.org krit at webkit.org
Fri Feb 26 22:16:07 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 424014b57db9bb7b39afa1d7a4c1c268aac3bfec
Author: krit at webkit.org <krit at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Feb 9 18:33:23 2010 +0000

    2010-02-09  Dirk Schulze  <krit at webkit.org>
    
            Reviewed by Nikolas Zimmermann.
    
            SVG patterns with some scale patternTransform are not displayed correctly for small elements
            https://bugs.webkit.org/show_bug.cgi?id=25484
    
            SVG Pattern size was clipped to the size of the target, if the pattern is bigger than the target. This
            causes problems, if the patternTransform scales the pattern. This patch deletes the clipping.
    
            Tests: svg/custom/pattern-excessive-malloc.svg
                   svg/custom/pattern-size-bigger-than-target-size.svg
                   svg/custom/pattern-skew-transformed.svg
    
            * svg/SVGPatternElement.cpp:
            (WebCore::SVGPatternElement::buildPattern):
    
    2010-02-09  Dirk Schulze  <krit at webkit.org>
    
            Reviewed by Nikolas Zimmermann.
    
            SVG patterns with some scale patternTransform are not displayed correctly for small elements
            https://bugs.webkit.org/show_bug.cgi?id=25484
    
            The old DRT results gave back a pattern size of 1x1. That was not very useful.
            The new reuslts are much more useful.
    
            * platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt:
            * platform/mac/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt:
            * platform/mac/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt:
            * platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt:
            * platform/mac/svg/batik/paints/patternPreserveAspectRatioA-expected.txt:
            * platform/mac/svg/batik/paints/patternRegions-expected.txt:
            * platform/mac/svg/custom/deep-dynamic-updates-expected.txt:
            * platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt:
            * platform/mac/svg/custom/js-late-pattern-creation-expected.txt:
            * platform/mac/svg/custom/js-update-pattern-child-expected.txt:
            * platform/mac/svg/custom/js-update-pattern-expected.txt:
            * platform/mac/svg/custom/pattern-cycle-detection-expected.txt:
            * platform/mac/svg/custom/pattern-deep-referencing-expected.txt:
            * platform/mac/svg/custom/pattern-excessive-malloc-expected.checksum: Added.
            * platform/mac/svg/custom/pattern-excessive-malloc-expected.png: Added.
            * platform/mac/svg/custom/pattern-excessive-malloc-expected.txt: Added.
            * platform/mac/svg/custom/pattern-in-defs-expected.txt:
            * platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.checksum: Added.
            * platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.png: Added.
            * platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.txt: Added.
            * platform/mac/svg/custom/pattern-skew-transformed-expected.checksum: Added.
            * platform/mac/svg/custom/pattern-skew-transformed-expected.png: Added.
            * platform/mac/svg/custom/pattern-skew-transformed-expected.txt: Added.
            * platform/mac/svg/custom/pattern-with-transformation-expected.txt:
            * platform/mac/svg/custom/pattern-y-offset-expected.txt:
            * platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
            * platform/mac/svg/custom/stroked-pattern-expected.txt:
            * platform/mac/svg/custom/transformedMaskFails-expected.png:
            * platform/mac/svg/custom/use-on-symbol-inside-pattern-expected.txt:
            * svg/custom/pattern-excessive-malloc.svg: Added.
            * svg/custom/pattern-size-bigger-than-target-size.svg: Added.
            * svg/custom/pattern-skew-transformed.svg: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54560 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index c32fa31..af9d048 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -2,6 +2,49 @@
 
         Reviewed by Nikolas Zimmermann.
 
+        SVG patterns with some scale patternTransform are not displayed correctly for small elements
+        https://bugs.webkit.org/show_bug.cgi?id=25484
+
+        The old DRT results gave back a pattern size of 1x1. That was not very useful.
+        The new reuslts are much more useful.
+
+        * platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt:
+        * platform/mac/svg/batik/paints/patternPreserveAspectRatioA-expected.txt:
+        * platform/mac/svg/batik/paints/patternRegions-expected.txt:
+        * platform/mac/svg/custom/deep-dynamic-updates-expected.txt:
+        * platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt:
+        * platform/mac/svg/custom/js-late-pattern-creation-expected.txt:
+        * platform/mac/svg/custom/js-update-pattern-child-expected.txt:
+        * platform/mac/svg/custom/js-update-pattern-expected.txt:
+        * platform/mac/svg/custom/pattern-cycle-detection-expected.txt:
+        * platform/mac/svg/custom/pattern-deep-referencing-expected.txt:
+        * platform/mac/svg/custom/pattern-excessive-malloc-expected.checksum: Added.
+        * platform/mac/svg/custom/pattern-excessive-malloc-expected.png: Added.
+        * platform/mac/svg/custom/pattern-excessive-malloc-expected.txt: Added.
+        * platform/mac/svg/custom/pattern-in-defs-expected.txt:
+        * platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.checksum: Added.
+        * platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.png: Added.
+        * platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.txt: Added.
+        * platform/mac/svg/custom/pattern-skew-transformed-expected.checksum: Added.
+        * platform/mac/svg/custom/pattern-skew-transformed-expected.png: Added.
+        * platform/mac/svg/custom/pattern-skew-transformed-expected.txt: Added.
+        * platform/mac/svg/custom/pattern-with-transformation-expected.txt:
+        * platform/mac/svg/custom/pattern-y-offset-expected.txt:
+        * platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
+        * platform/mac/svg/custom/stroked-pattern-expected.txt:
+        * platform/mac/svg/custom/transformedMaskFails-expected.png:
+        * platform/mac/svg/custom/use-on-symbol-inside-pattern-expected.txt:
+        * svg/custom/pattern-excessive-malloc.svg: Added.
+        * svg/custom/pattern-size-bigger-than-target-size.svg: Added.
+        * svg/custom/pattern-skew-transformed.svg: Added.
+
+2010-02-09  Dirk Schulze  <krit at webkit.org>
+
+        Reviewed by Nikolas Zimmermann.
+
         Update Qt specific DRT result after AffineTransform patch.
 
         * platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt:
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt
index b3c0bf5..96dd39a 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt
@@ -6,7 +6,7 @@ KRenderingPaintServer {id="radialBoundingBoxFraction" [type=RADIAL-GRADIENT] [st
 KRenderingPaintServer {id="radialUserSpace" [type=RADIAL-GRADIENT] [stops=[(0.00,#FF0000), (1.00,#0000FF)]] [bounding box mode=0] [center=(15,15)] [focal=(15,15)] [radius=15.00]}
 KRenderingPaintServer {id="patternBoundingBoxPercentage" [type=PATTERN] [bbox=at (0.25,0.25) size 0.50x0.50]}
 KRenderingPaintServer {id="patternBoundingBoxFraction" [type=PATTERN] [bbox=at (0.25,0.25) size 0.50x0.50]}
-KRenderingPaintServer {id="patternUserSpace" [type=PATTERN] [bbox=at (12.50,7.50) size 1x1]}
+KRenderingPaintServer {id="patternUserSpace" [type=PATTERN] [bbox=at (12.50,7.50) size 25x15]}
 layer at (0,0) size 480x360
   RenderView at (0,0) size 480x360
 layer at (0,0) size 480x360
@@ -79,7 +79,7 @@ layer at (0,0) size 480x360
       RenderSVGContainer {g} at (29,249) size 433x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,250.00)}]
         RenderPath {rect} at (29,249) size 52x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0.25,0.25) size 0.50x0.50]}] [data="M0.00,0.00 L50.00,0.00 L50.00,30.00 L0.00,30.00 Z"]
         RenderPath {rect} at (179,249) size 52x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0.25,0.25) size 0.50x0.50]}] [data="M0.00,0.00 L50.00,0.00 L50.00,30.00 L0.00,30.00 Z"]
-        RenderPath {rect} at (329,249) size 52x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (12.50,7.50) size 1x1]}] [data="M0.00,0.00 L50.00,0.00 L50.00,30.00 L0.00,30.00 Z"]
+        RenderPath {rect} at (329,249) size 52x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (12.50,7.50) size 25x15]}] [data="M0.00,0.00 L50.00,0.00 L50.00,30.00 L0.00,30.00 Z"]
         RenderSVGText {text} at (60,20) size 69x18 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,-14) size 69x18
             chunk 1 text run 1 at (60.00,20.00) startOffset 0 endOffset 10 width 69.00: "Percentage"
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt
index 4be702f..e674152 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt
@@ -1,5 +1,5 @@
-KRenderingPaintServer {id="Pat3a" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="Pat3b" [type=PATTERN] [bbox=at (0,0) size 1x1]}
+KRenderingPaintServer {id="Pat3a" [type=PATTERN] [bbox=at (0,0) size 20x20]}
+KRenderingPaintServer {id="Pat3b" [type=PATTERN] [bbox=at (0,0) size 20x20]}
 layer at (0,0) size 480x360
   RenderView at (0,0) size 480x360
 layer at (0,0) size 480x360
@@ -11,11 +11,11 @@ layer at (0,0) size 480x360
         RenderPath {rect} at (0,10) size 10x10 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,10.00 L10.00,10.00 L10.00,20.00 L0.00,20.00 Z"]
         RenderPath {rect} at (10,10) size 10x10 [fill={[type=SOLID] [color=#FFFF00]}] [data="M10.00,10.00 L20.00,10.00 L20.00,20.00 L10.00,20.00 Z"]
       RenderSVGContainer {pattern} at (0,0) size 0x0
-      RenderPath {rect} at (20,20) size 440x80 [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M20.00,20.00 L460.00,20.00 L460.00,100.00 L20.00,100.00 Z"]
+      RenderPath {rect} at (20,20) size 440x80 [fill={[type=PATTERN] [bbox=at (0,0) size 20x20]}] [data="M20.00,20.00 L460.00,20.00 L460.00,100.00 L20.00,100.00 Z"]
       RenderSVGText {text} at (20,130) size 142x33 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-27) size 142x33
           chunk 1 text run 1 at (20.00,130.00) startOffset 0 endOffset 13 width 142.00: "Pattern fill."
-      RenderPath {rect} at (20,150) size 440x80 [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M20.00,150.00 L460.00,150.00 L460.00,230.00 L20.00,230.00 Z"]
+      RenderPath {rect} at (20,150) size 440x80 [fill={[type=PATTERN] [bbox=at (0,0) size 20x20]}] [data="M20.00,150.00 L460.00,150.00 L460.00,230.00 L20.00,230.00 Z"]
       RenderSVGText {text} at (20,260) size 399x33 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-27) size 399x33
           chunk 1 text run 1 at (20.00,260.00) startOffset 0 endOffset 31 width 399.00: "Referencing pattern fill below."
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt
index fdccd42..b76bfa4 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt
@@ -1,6 +1,6 @@
 KRenderingPaintServer {id="Grad1" [type=LINEAR-GRADIENT] [stops=[(0.00,#0000FF), (0.50,#FF0000), (1.00,#00FF00)]] [bounding box mode=0] [transform={m=((0.50,0.00)(0.00,0.50)) t=(25.00,35.00)}] [start=(0,0)] [end=(430,0)]}
 KRenderingPaintServer {id="Grad2" [type=RADIAL-GRADIENT] [stops=[(0.00,#000000), (1.00,#FFA500)]] [bounding box mode=0] [transform={m=((1.00,0.00)(1.00,1.00)) t=(240.00,155.00)}] [center=(0,0)] [focal=(0,0)] [radius=60.00]}
-KRenderingPaintServer {id="Pat3" [type=PATTERN] [bbox=at (0,0) size 1x1] [pattern transform={m=((2.00,0.00)(2.00,2.00)) t=(25.00,215.00)}]}
+KRenderingPaintServer {id="Pat3" [type=PATTERN] [bbox=at (0,0) size 20x20] [pattern transform={m=((2.00,0.00)(2.00,2.00)) t=(25.00,215.00)}]}
 layer at (0,0) size 480x360
   RenderView at (0,0) size 480x360
 layer at (0,0) size 480x360
@@ -26,7 +26,7 @@ layer at (0,0) size 480x360
         RenderPath {rect} at (10,0) size 10x10 [fill={[type=SOLID] [color=#008000]}] [data="M10.00,0.00 L20.00,0.00 L20.00,10.00 L10.00,10.00 Z"]
         RenderPath {rect} at (0,10) size 10x10 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,10.00 L10.00,10.00 L10.00,20.00 L0.00,20.00 Z"]
         RenderPath {rect} at (10,10) size 10x10 [fill={[type=SOLID] [color=#FFFF00]}] [data="M10.00,10.00 L20.00,10.00 L20.00,20.00 L10.00,20.00 Z"]
-      RenderPath {rect} at (20,210) size 440x50 [fill={[type=PATTERN] [bbox=at (0,0) size 1x1] [pattern transform={m=((2.00,0.00)(2.00,2.00)) t=(25.00,215.00)}]}] [data="M20.00,210.00 L460.00,210.00 L460.00,260.00 L20.00,260.00 Z"]
+      RenderPath {rect} at (20,210) size 440x50 [fill={[type=PATTERN] [bbox=at (0,0) size 20x20] [pattern transform={m=((2.00,0.00)(2.00,2.00)) t=(25.00,215.00)}]}] [data="M20.00,210.00 L460.00,210.00 L460.00,260.00 L20.00,260.00 Z"]
       RenderSVGText {text} at (20,290) size 411x33 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-27) size 411x33
           chunk 1 text run 1 at (20.00,290.00) startOffset 0 endOffset 30 width 411.00: "scale(2), skewX(45) on pattern"
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt
index a393be7..e54e52d 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt
@@ -1,7 +1,7 @@
-KRenderingPaintServer {id="pat1" [type=PATTERN] [bbox=at (10,10) size 1x1]}
-KRenderingPaintServer {id="pat2" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="pat3" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="pat4" [type=PATTERN] [bbox=at (0,0) size 1x1]}
+KRenderingPaintServer {id="pat1" [type=PATTERN] [bbox=at (10,10) size 20x20]}
+KRenderingPaintServer {id="pat2" [type=PATTERN] [bbox=at (0,0) size 20x20]}
+KRenderingPaintServer {id="pat3" [type=PATTERN] [bbox=at (0,0) size 10x20]}
+KRenderingPaintServer {id="pat4" [type=PATTERN] [bbox=at (0,0) size 20x10]}
 layer at (0,0) size 480x360
   RenderView at (0,0) size 480x360
 layer at (0,0) size 480x360
@@ -10,7 +10,7 @@ layer at (0,0) size 480x360
       RenderSVGContainer {pattern} at (5,5) size 15x15
         RenderPath {rect} at (5,5) size 10x10 [fill={[type=SOLID] [color=#FF0000]}] [data="M5.00,5.00 L15.00,5.00 L15.00,15.00 L5.00,15.00 Z"]
         RenderPath {rect} at (10,10) size 10x10 [fill={[type=SOLID] [color=#008000]}] [data="M10.00,10.00 L20.00,10.00 L20.00,20.00 L10.00,20.00 Z"]
-      RenderPath {rect} at (24,9) size 432x62 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (10,10) size 1x1]}] [data="M25.00,10.00 L455.00,10.00 L455.00,70.00 L25.00,70.00 Z"]
+      RenderPath {rect} at (24,9) size 432x62 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (10,10) size 20x20]}] [data="M25.00,10.00 L455.00,10.00 L455.00,70.00 L25.00,70.00 Z"]
       RenderSVGText {text} at (25,85) size 395x14 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-11) size 395x14
           chunk 1 text run 1 at (25.00,85.00) startOffset 0 endOffset 75 width 395.00: "Pattern created using red and green rectangles applied to fill of rectangle"
@@ -19,7 +19,7 @@ layer at (0,0) size 480x360
         RenderPath {rect} at (10,0) size 10x10 [fill={[type=SOLID] [color=#008000]}] [data="M10.00,0.00 L20.00,0.00 L20.00,10.00 L10.00,10.00 Z"]
         RenderPath {rect} at (0,10) size 10x10 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,10.00 L10.00,10.00 L10.00,20.00 L0.00,20.00 Z"]
         RenderPath {rect} at (10,10) size 10x10 [fill={[type=SOLID] [color=#FFFF00]}] [data="M10.00,10.00 L20.00,10.00 L20.00,20.00 L10.00,20.00 Z"]
-      RenderPath {rect} at (25,100) size 430x60 [stroke={[type=PATTERN] [bbox=at (0,0) size 1x1] [stroke width=20.00]}] [data="M35.00,110.00 L445.00,110.00 L445.00,150.00 L35.00,150.00 Z"]
+      RenderPath {rect} at (25,100) size 430x60 [stroke={[type=PATTERN] [bbox=at (0,0) size 20x20] [stroke width=20.00]}] [data="M35.00,110.00 L445.00,110.00 L445.00,150.00 L35.00,150.00 Z"]
       RenderSVGText {text} at (25,175) size 305x14 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-11) size 305x14
           chunk 1 text run 1 at (25.00,175.00) startOffset 0 endOffset 59 width 305.00: "Pattern of 4 rectangles applied to a stroke of a rectangle."
diff --git a/LayoutTests/platform/mac/svg/batik/paints/patternPreserveAspectRatioA-expected.txt b/LayoutTests/platform/mac/svg/batik/paints/patternPreserveAspectRatioA-expected.txt
index 8cd494d..594ed10 100644
--- a/LayoutTests/platform/mac/svg/batik/paints/patternPreserveAspectRatioA-expected.txt
+++ b/LayoutTests/platform/mac/svg/batik/paints/patternPreserveAspectRatioA-expected.txt
@@ -1,33 +1,33 @@
-KRenderingPaintServer {id="meetXminYmin" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="meetXminYmid" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="meetXminYmax" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="meetXmidYmin" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="meetXmidYmid" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="meetXmidYmax" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="meetXmaxYmin" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="meetXmaxYmid" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="meetXmaxYmax" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="sliceXminYmin" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="sliceXminYmid" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="sliceXminYmax" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="sliceXmidYmin" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="sliceXmidYmid" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="sliceXmidYmax" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="sliceXmaxYmin" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="sliceXmaxYmid" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="sliceXmaxYmax" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="noneXminYmin" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="noneXminYmid" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="noneXminYmax" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="noneXmidYmin" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="noneXmidYmid" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="noneXmidYmax" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="noneXmaxYmin" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="noneXmaxYmid" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="noneXmaxYmax" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="meetNone" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="sliceNone" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="noneNone" [type=PATTERN] [bbox=at (0,0) size 1x1]}
+KRenderingPaintServer {id="meetXminYmin" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="meetXminYmid" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="meetXminYmax" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="meetXmidYmin" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="meetXmidYmid" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="meetXmidYmax" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="meetXmaxYmin" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="meetXmaxYmid" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="meetXmaxYmax" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="sliceXminYmin" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="sliceXminYmid" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="sliceXminYmax" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="sliceXmidYmin" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="sliceXmidYmid" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="sliceXmidYmax" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="sliceXmaxYmin" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="sliceXmaxYmid" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="sliceXmaxYmax" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="noneXminYmin" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="noneXminYmid" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="noneXminYmax" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="noneXmidYmin" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="noneXmidYmid" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="noneXmidYmax" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="noneXmaxYmin" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="noneXmaxYmid" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="noneXmaxYmax" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="meetNone" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="sliceNone" [type=PATTERN] [bbox=at (0,0) size 32x16]}
+KRenderingPaintServer {id="noneNone" [type=PATTERN] [bbox=at (0,0) size 32x16]}
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 450x500
@@ -883,101 +883,101 @@ layer at (0,0) size 450x500
         RenderSVGContainer {g} at (95,85) size 90x350
           RenderSVGContainer {use} at (95,85) size 90x30
             RenderSVGContainer {g} at (95,85) size 90x30
-              RenderPath {rect} at (95,85) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+              RenderPath {rect} at (95,85) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
           RenderSVGContainer {use} at (95,125) size 90x30
             RenderSVGContainer {g} at (95,125) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}]
-              RenderPath {rect} at (95,125) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+              RenderPath {rect} at (95,125) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
           RenderSVGContainer {use} at (95,165) size 90x30
             RenderSVGContainer {g} at (95,165) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,80.00)}]
-              RenderPath {rect} at (95,165) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+              RenderPath {rect} at (95,165) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
           RenderSVGContainer {g} at (95,205) size 90x110 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]
             RenderSVGContainer {use} at (95,205) size 90x30
               RenderSVGContainer {g} at (95,205) size 90x30
-                RenderPath {rect} at (95,205) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (95,205) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
             RenderSVGContainer {use} at (95,245) size 90x30
               RenderSVGContainer {g} at (95,245) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}]
-                RenderPath {rect} at (95,245) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (95,245) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
             RenderSVGContainer {use} at (95,285) size 90x30
               RenderSVGContainer {g} at (95,285) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,80.00)}]
-                RenderPath {rect} at (95,285) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (95,285) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
           RenderSVGContainer {g} at (95,325) size 90x110 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,240.00)}]
             RenderSVGContainer {use} at (95,325) size 90x30
               RenderSVGContainer {g} at (95,325) size 90x30
-                RenderPath {rect} at (95,325) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (95,325) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
             RenderSVGContainer {use} at (95,365) size 90x30
               RenderSVGContainer {g} at (95,365) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}]
-                RenderPath {rect} at (95,365) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (95,365) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
             RenderSVGContainer {use} at (95,405) size 90x30
               RenderSVGContainer {g} at (95,405) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,80.00)}]
-                RenderPath {rect} at (95,405) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (95,405) size 90x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
         RenderSVGContainer {g} at (194,84) size 92x352 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
           RenderSVGContainer {use} at (194,84) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
             RenderSVGContainer {g} at (194,84) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
-              RenderPath {rect} at (194,84) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+              RenderPath {rect} at (194,84) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
           RenderSVGContainer {use} at (194,124) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
             RenderSVGContainer {g} at (194,124) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
-              RenderPath {rect} at (194,124) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+              RenderPath {rect} at (194,124) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
           RenderSVGContainer {use} at (194,164) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
             RenderSVGContainer {g} at (194,164) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,80.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
-              RenderPath {rect} at (194,164) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+              RenderPath {rect} at (194,164) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
           RenderSVGContainer {g} at (194,204) size 92x112 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
             RenderSVGContainer {use} at (194,204) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
               RenderSVGContainer {g} at (194,204) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
-                RenderPath {rect} at (194,204) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (194,204) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
             RenderSVGContainer {use} at (194,244) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
               RenderSVGContainer {g} at (194,244) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
-                RenderPath {rect} at (194,244) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (194,244) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
             RenderSVGContainer {use} at (194,284) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
               RenderSVGContainer {g} at (194,284) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,80.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
-                RenderPath {rect} at (194,284) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (194,284) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
           RenderSVGContainer {g} at (194,324) size 92x112 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,240.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
             RenderSVGContainer {use} at (194,324) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
               RenderSVGContainer {g} at (194,324) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
-                RenderPath {rect} at (194,324) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (194,324) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
             RenderSVGContainer {use} at (194,364) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
               RenderSVGContainer {g} at (194,364) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
-                RenderPath {rect} at (194,364) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (194,364) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
             RenderSVGContainer {use} at (194,404) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
               RenderSVGContainer {g} at (194,404) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,80.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
-                RenderPath {rect} at (194,404) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (194,404) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
         RenderSVGContainer {g} at (294,84) size 92x352 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
           RenderSVGContainer {use} at (294,84) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
             RenderSVGContainer {g} at (294,84) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
-              RenderPath {rect} at (294,84) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+              RenderPath {rect} at (294,84) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
           RenderSVGContainer {use} at (294,124) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
             RenderSVGContainer {g} at (294,124) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
-              RenderPath {rect} at (294,124) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+              RenderPath {rect} at (294,124) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
           RenderSVGContainer {use} at (294,164) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
             RenderSVGContainer {g} at (294,164) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,80.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
-              RenderPath {rect} at (294,164) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+              RenderPath {rect} at (294,164) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
           RenderSVGContainer {g} at (294,204) size 92x112 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
             RenderSVGContainer {use} at (294,204) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
               RenderSVGContainer {g} at (294,204) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
-                RenderPath {rect} at (294,204) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (294,204) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
             RenderSVGContainer {use} at (294,244) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
               RenderSVGContainer {g} at (294,244) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
-                RenderPath {rect} at (294,244) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (294,244) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
             RenderSVGContainer {use} at (294,284) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
               RenderSVGContainer {g} at (294,284) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,80.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
-                RenderPath {rect} at (294,284) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (294,284) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
           RenderSVGContainer {g} at (294,324) size 92x112 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,240.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
             RenderSVGContainer {use} at (294,324) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
               RenderSVGContainer {g} at (294,324) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
-                RenderPath {rect} at (294,324) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (294,324) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
             RenderSVGContainer {use} at (294,364) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
               RenderSVGContainer {g} at (294,364) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
-                RenderPath {rect} at (294,364) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (294,364) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
             RenderSVGContainer {use} at (294,404) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
               RenderSVGContainer {g} at (294,404) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,80.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
-                RenderPath {rect} at (294,404) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+                RenderPath {rect} at (294,404) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
         RenderSVGContainer {g} at (94,444) size 292x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,360.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
           RenderSVGContainer {use} at (94,444) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
             RenderSVGContainer {g} at (94,444) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
-              RenderPath {rect} at (94,444) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+              RenderPath {rect} at (94,444) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
           RenderSVGContainer {use} at (194,444) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
             RenderSVGContainer {g} at (194,444) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
-              RenderPath {rect} at (194,444) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+              RenderPath {rect} at (194,444) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
           RenderSVGContainer {use} at (294,444) size 92x32 [start marker=startEndMarker] [end marker=startEndMarker]
             RenderSVGContainer {g} at (294,444) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}] [start marker=startEndMarker] [end marker=startEndMarker]
-              RenderPath {rect} at (294,444) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
+              RenderPath {rect} at (294,444) size 92x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,5.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 32x16]}] [start marker=startEndMarker] [end marker=startEndMarker] [data="M0.00,0.00 L90.00,0.00 L90.00,30.00 L0.00,30.00 Z"]
     RenderSVGContainer {use} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/svg/batik/paints/patternRegions-expected.txt b/LayoutTests/platform/mac/svg/batik/paints/patternRegions-expected.txt
index 84149f2..54a5e03 100644
--- a/LayoutTests/platform/mac/svg/batik/paints/patternRegions-expected.txt
+++ b/LayoutTests/platform/mac/svg/batik/paints/patternRegions-expected.txt
@@ -1,13 +1,13 @@
 KRenderingPaintServer {id="pattern1" [type=PATTERN] [bbox=at (0,0) size 0.75x0.50]}
 KRenderingPaintServer {id="pattern2" [type=PATTERN] [bbox=at (0,0) size 0.75x0.50]}
-KRenderingPaintServer {id="pattern3" [type=PATTERN] [bbox=at (0,0) size 1x1]}
+KRenderingPaintServer {id="pattern3" [type=PATTERN] [bbox=at (0,0) size 30x15]}
 KRenderingPaintServer {id="pattern4" [type=PATTERN] [bbox=at (0,0) size 0.75x0.50]}
 KRenderingPaintServer {id="pattern5" [type=PATTERN] [bbox=at (0,0) size 0.75x0.50]}
-KRenderingPaintServer {id="pattern6" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="pattern7" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="pattern8" [type=PATTERN] [bbox=at (0,0) size 1x1]}
+KRenderingPaintServer {id="pattern6" [type=PATTERN] [bbox=at (0,0) size 30x15]}
+KRenderingPaintServer {id="pattern7" [type=PATTERN] [bbox=at (0,0) size 30x15]}
+KRenderingPaintServer {id="pattern8" [type=PATTERN] [bbox=at (0,0) size 30x15]}
 KRenderingPaintServer {id="redToYellow" [type=RADIAL-GRADIENT] [stops=[(0.00,#FF0000), (1.00,#FFFF00)]] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.50]}
-KRenderingPaintServer {id="pattern9" [type=PATTERN] [bbox=at (-0.75,-0.75) size 1x1]}
+KRenderingPaintServer {id="pattern9" [type=PATTERN] [bbox=at (-22.50,-22.50) size 30x15]}
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 450x500
@@ -76,7 +76,7 @@ layer at (0,0) size 450x500
               RenderSVGInlineText {#text} at (0,-10) size 84x13
                 chunk 1 text run 1 at (0.00,10.00) startOffset 0 endOffset 20 width 84.00: "contentUnits=default"
         RenderSVGContainer {g} at (14,208) size 172x44 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,120.00)}]
-          RenderPath {rect} at (14,219) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L40.00,0.00 L40.00,30.00 L0.00,30.00 Z"]
+          RenderPath {rect} at (14,219) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 30x15]}] [data="M0.00,0.00 L40.00,0.00 L40.00,30.00 L0.00,30.00 Z"]
           RenderSVGText {text} at (0,-2) size 37x13 contains 1 chunk(s)
             RenderSVGInlineText {#text} at (0,-10) size 37x13
               chunk 1 text run 1 at (0.00,-2.00) startOffset 0 endOffset 9 width 37.00: "#pattern3"
@@ -118,7 +118,7 @@ layer at (0,0) size 450x500
               RenderSVGInlineText {#text} at (0,-10) size 138x13
                 chunk 1 text run 1 at (0.00,10.00) startOffset 0 endOffset 30 width 138.00: "contentUnits=objectBoundingBox"
         RenderSVGContainer {g} at (14,358) size 189x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,270.00)}]
-          RenderPath {rect} at (14,369) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L40.00,0.00 L40.00,30.00 L0.00,30.00 Z"]
+          RenderPath {rect} at (14,369) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 30x15]}] [data="M0.00,0.00 L40.00,0.00 L40.00,30.00 L0.00,30.00 Z"]
           RenderSVGText {text} at (0,-2) size 37x13 contains 1 chunk(s)
             RenderSVGInlineText {#text} at (0,-10) size 37x13
               chunk 1 text run 1 at (0.00,-2.00) startOffset 0 endOffset 9 width 37.00: "#pattern6"
@@ -130,7 +130,7 @@ layer at (0,0) size 450x500
               RenderSVGInlineText {#text} at (0,-10) size 138x13
                 chunk 1 text run 1 at (0.00,10.00) startOffset 0 endOffset 30 width 138.00: "contentUnits=objectBoundingBox"
         RenderSVGContainer {g} at (219,108) size 196x44 [transform={m=((1.00,0.00)(0.00,1.00)) t=(225.00,20.00)}]
-          RenderPath {rect} at (219,119) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L40.00,0.00 L40.00,30.00 L0.00,30.00 Z"]
+          RenderPath {rect} at (219,119) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 30x15]}] [data="M0.00,0.00 L40.00,0.00 L40.00,30.00 L0.00,30.00 Z"]
           RenderSVGText {text} at (0,-2) size 37x13 contains 1 chunk(s)
             RenderSVGInlineText {#text} at (0,-10) size 37x13
               chunk 1 text run 1 at (0.00,-2.00) startOffset 0 endOffset 9 width 37.00: "#pattern7"
@@ -145,7 +145,7 @@ layer at (0,0) size 450x500
               RenderSVGInlineText {#text} at (0,-10) size 145x13
                 chunk 1 text run 1 at (0.00,20.00) startOffset 0 endOffset 32 width 145.00: "viewBox preserveAspectRatio=none"
         RenderSVGContainer {g} at (219,158) size 205x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(225.00,70.00)}]
-          RenderPath {rect} at (219,169) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L40.00,0.00 L40.00,30.00 L0.00,30.00 Z"]
+          RenderPath {rect} at (219,169) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (0,0) size 30x15]}] [data="M0.00,0.00 L40.00,0.00 L40.00,30.00 L0.00,30.00 Z"]
           RenderSVGText {text} at (0,-2) size 37x13 contains 1 chunk(s)
             RenderSVGInlineText {#text} at (0,-10) size 37x13
               chunk 1 text run 1 at (0.00,-2.00) startOffset 0 endOffset 9 width 37.00: "#pattern8"
@@ -157,7 +157,7 @@ layer at (0,0) size 450x500
               RenderSVGInlineText {#text} at (0,-10) size 154x13
                 chunk 1 text run 1 at (0.00,10.00) startOffset 0 endOffset 33 width 154.00: "preserveAspectRatio=xMinYmin meet"
         RenderSVGContainer {g} at (219,208) size 204x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(225.00,120.00)}]
-          RenderPath {rect} at (219,219) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (-0.75,-0.75) size 1x1]}] [data="M0.00,0.00 L40.00,0.00 L40.00,30.00 L0.00,30.00 Z"]
+          RenderPath {rect} at (219,219) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (-22.50,-22.50) size 30x15]}] [data="M0.00,0.00 L40.00,0.00 L40.00,30.00 L0.00,30.00 Z"]
           RenderSVGText {text} at (0,-2) size 37x13 contains 1 chunk(s)
             RenderSVGInlineText {#text} at (0,-10) size 37x13
               chunk 1 text run 1 at (0.00,-2.00) startOffset 0 endOffset 9 width 37.00: "#pattern9"
diff --git a/LayoutTests/platform/mac/svg/custom/deep-dynamic-updates-expected.txt b/LayoutTests/platform/mac/svg/custom/deep-dynamic-updates-expected.txt
index 382f8f7..c5c2f4c 100644
--- a/LayoutTests/platform/mac/svg/custom/deep-dynamic-updates-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/deep-dynamic-updates-expected.txt
@@ -1,5 +1,5 @@
 KRenderingPaintServer {id="Gradient" [type=LINEAR-GRADIENT] [stops=[(0.30,#0000FF), (1.00,#FF0000)]] [bounding box mode=0] [start=(0,0)] [end=(60,10)]}
-KRenderingPaintServer {id="Pattern" [type=PATTERN] [bbox=at (0,0) size 1x1]}
+KRenderingPaintServer {id="Pattern" [type=PATTERN] [bbox=at (0,0) size 60x10]}
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 450x450
@@ -13,4 +13,4 @@ layer at (0,0) size 450x450
     RenderSVGContainer {use} at (24,24) size 402x402
       RenderSVGContainer {g} at (24,24) size 402x402 [transform={m=((1.00,0.00)(0.00,1.00)) t=(25.00,25.00)}]
         RenderSVGViewportContainer {svg} at (24,24) size 402x402
-          RenderPath {rect} at (24,24) size 402x402 [stroke={[type=SOLID] [color=#000080]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L400.00,0.00 L400.00,400.00 L0.00,400.00 Z"]
+          RenderPath {rect} at (24,24) size 402x402 [stroke={[type=SOLID] [color=#000080]}] [fill={[type=PATTERN] [bbox=at (0,0) size 60x10]}] [data="M0.00,0.00 L400.00,0.00 L400.00,400.00 L0.00,400.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt b/LayoutTests/platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt
index 5772525..a177cc2 100644
--- a/LayoutTests/platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt
@@ -1,5 +1,5 @@
-KRenderingPaintServer {id="fillPattern" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="strokePattern" [type=PATTERN] [bbox=at (0,0) size 1x1]}
+KRenderingPaintServer {id="fillPattern" [type=PATTERN] [bbox=at (0,0) size 20x20]}
+KRenderingPaintServer {id="strokePattern" [type=PATTERN] [bbox=at (0,0) size 20x20]}
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
diff --git a/LayoutTests/platform/mac/svg/custom/js-late-pattern-creation-expected.txt b/LayoutTests/platform/mac/svg/custom/js-late-pattern-creation-expected.txt
index bd6a8d3..a6daf68 100644
--- a/LayoutTests/platform/mac/svg/custom/js-late-pattern-creation-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/js-late-pattern-creation-expected.txt
@@ -1,4 +1,4 @@
-KRenderingPaintServer {id="dynPattern" [type=PATTERN] [bbox=at (0,0) size 1x1]}
+KRenderingPaintServer {id="dynPattern" [type=PATTERN] [bbox=at (0,0) size 20x20]}
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
diff --git a/LayoutTests/platform/mac/svg/custom/js-update-pattern-child-expected.txt b/LayoutTests/platform/mac/svg/custom/js-update-pattern-child-expected.txt
index 4abfa81..f2ba1ce 100644
--- a/LayoutTests/platform/mac/svg/custom/js-update-pattern-child-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/js-update-pattern-child-expected.txt
@@ -1,4 +1,4 @@
-KRenderingPaintServer {id="Pattern" [type=PATTERN] [bbox=at (0,0) size 1x1]}
+KRenderingPaintServer {id="Pattern" [type=PATTERN] [bbox=at (0,0) size 20x20]}
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 450x450
@@ -7,5 +7,5 @@ layer at (0,0) size 450x450
       RenderSVGContainer {pattern} at (0,5) size 15x15
         RenderPath {rect} at (5,5) size 10x10 [fill={[type=SOLID] [color=#FF0000]}] [data="M5.00,5.00 L15.00,5.00 L15.00,15.00 L5.00,15.00 Z"]
         RenderPath {rect} at (0,10) size 10x10 [fill={[type=SOLID] [color=#008000]}] [data="M0.00,10.00 L10.00,10.00 L10.00,20.00 L0.00,20.00 Z"]
-    RenderPath {rect} at (10,10) size 430x80 [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M10.00,10.00 L440.00,10.00 L440.00,90.00 L10.00,90.00 Z"]
-    RenderPath {rect} at (10,100) size 430x80 [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M10.00,100.00 L440.00,100.00 L440.00,180.00 L10.00,180.00 Z"]
+    RenderPath {rect} at (10,10) size 430x80 [fill={[type=PATTERN] [bbox=at (0,0) size 20x20]}] [data="M10.00,10.00 L440.00,10.00 L440.00,90.00 L10.00,90.00 Z"]
+    RenderPath {rect} at (10,100) size 430x80 [fill={[type=PATTERN] [bbox=at (0,0) size 20x20]}] [data="M10.00,100.00 L440.00,100.00 L440.00,180.00 L10.00,180.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/custom/js-update-pattern-expected.txt b/LayoutTests/platform/mac/svg/custom/js-update-pattern-expected.txt
index 4abfa81..084e011 100644
--- a/LayoutTests/platform/mac/svg/custom/js-update-pattern-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/js-update-pattern-expected.txt
@@ -1,4 +1,4 @@
-KRenderingPaintServer {id="Pattern" [type=PATTERN] [bbox=at (0,0) size 1x1]}
+KRenderingPaintServer {id="Pattern" [type=PATTERN] [bbox=at (0,0) size 10x20]}
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 450x450
@@ -7,5 +7,5 @@ layer at (0,0) size 450x450
       RenderSVGContainer {pattern} at (0,5) size 15x15
         RenderPath {rect} at (5,5) size 10x10 [fill={[type=SOLID] [color=#FF0000]}] [data="M5.00,5.00 L15.00,5.00 L15.00,15.00 L5.00,15.00 Z"]
         RenderPath {rect} at (0,10) size 10x10 [fill={[type=SOLID] [color=#008000]}] [data="M0.00,10.00 L10.00,10.00 L10.00,20.00 L0.00,20.00 Z"]
-    RenderPath {rect} at (10,10) size 430x80 [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M10.00,10.00 L440.00,10.00 L440.00,90.00 L10.00,90.00 Z"]
-    RenderPath {rect} at (10,100) size 430x80 [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M10.00,100.00 L440.00,100.00 L440.00,180.00 L10.00,180.00 Z"]
+    RenderPath {rect} at (10,10) size 430x80 [fill={[type=PATTERN] [bbox=at (0,0) size 10x20]}] [data="M10.00,10.00 L440.00,10.00 L440.00,90.00 L10.00,90.00 Z"]
+    RenderPath {rect} at (10,100) size 430x80 [fill={[type=PATTERN] [bbox=at (0,0) size 10x20]}] [data="M10.00,100.00 L440.00,100.00 L440.00,180.00 L10.00,180.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/custom/pattern-cycle-detection-expected.txt b/LayoutTests/platform/mac/svg/custom/pattern-cycle-detection-expected.txt
index 576a672..cdd304e 100644
--- a/LayoutTests/platform/mac/svg/custom/pattern-cycle-detection-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/pattern-cycle-detection-expected.txt
@@ -1,5 +1,5 @@
-KRenderingPaintServer {id="cycle2" [type=PATTERN] [bbox=at (20,20) size 1x1]}
-KRenderingPaintServer {id="cycle1" [type=PATTERN] [bbox=at (20,20) size 1x1]}
+KRenderingPaintServer {id="cycle2" [type=PATTERN] [bbox=at (20,20) size 50x30]}
+KRenderingPaintServer {id="cycle1" [type=PATTERN] [bbox=at (20,20) size 50x30]}
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
@@ -8,7 +8,7 @@ layer at (0,0) size 800x600
       RenderSVGContainer {pattern} at (0,0) size 51x31
         RenderPath {rect} at (0,0) size 51x31 [stroke={[type=SOLID] [color=#008000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00 L50.00,0.00 L50.00,30.00 L0.00,30.00 Z"]
       RenderSVGContainer {pattern} at (0,0) size 0x0
-    RenderPath {rect} at (0,0) size 100x100 [fill={[type=PATTERN] [bbox=at (20,20) size 1x1]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
+    RenderPath {rect} at (0,0) size 100x100 [fill={[type=PATTERN] [bbox=at (20,20) size 50x30]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
     RenderSVGText {text} at (10,150) size 472x18 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,-14) size 472x18
         chunk 1 text run 1 at (10.00,150.00) startOffset 0 endOffset 75 width 472.00: "The square above should show a pattern now that fill fallback is supported."
diff --git a/LayoutTests/platform/mac/svg/custom/pattern-deep-referencing-expected.txt b/LayoutTests/platform/mac/svg/custom/pattern-deep-referencing-expected.txt
index cdce8a5..fe97011 100644
--- a/LayoutTests/platform/mac/svg/custom/pattern-deep-referencing-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/pattern-deep-referencing-expected.txt
@@ -1,11 +1,11 @@
-KRenderingPaintServer {id="pattern1f" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="pattern1e" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="pattern1d" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="pattern1c" [type=PATTERN] [bbox=at (0,0) size 0x1]}
+KRenderingPaintServer {id="pattern1f" [type=PATTERN] [bbox=at (0,0) size 50x30]}
+KRenderingPaintServer {id="pattern1e" [type=PATTERN] [bbox=at (0,0) size 50x30]}
+KRenderingPaintServer {id="pattern1d" [type=PATTERN] [bbox=at (0,0) size 50x30]}
+KRenderingPaintServer {id="pattern1c" [type=PATTERN] [bbox=at (0,0) size 0x30]}
 KRenderingPaintServer {id="pattern1b" [type=PATTERN] [bbox=at (0,0) size 0x0]}
 KRenderingPaintServer {id="pattern1a" [type=PATTERN] [bbox=at (0,0) size 0x0]}
-KRenderingPaintServer {id="pattern1" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="pattern2" [type=PATTERN] [bbox=at (0,0) size 1x1]}
+KRenderingPaintServer {id="pattern1" [type=PATTERN] [bbox=at (0,0) size 50x30]}
+KRenderingPaintServer {id="pattern2" [type=PATTERN] [bbox=at (0,0) size 50x30]}
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
@@ -21,8 +21,8 @@ layer at (0,0) size 800x600
       RenderSVGContainer {pattern} at (0,0) size 0x0
       RenderSVGContainer {pattern} at (0,0) size 51x31
         RenderPath {rect} at (0,0) size 51x31 [stroke={[type=SOLID] [color=#008000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00 L50.00,0.00 L50.00,30.00 L0.00,30.00 Z"]
-    RenderPath {rect} at (50,10) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,10.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
-    RenderPath {rect} at (200,10) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,10.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
+    RenderPath {rect} at (50,10) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,10.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 50x30]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
+    RenderPath {rect} at (200,10) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,10.00)}] [fill={[type=PATTERN] [bbox=at (0,0) size 50x30]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
     RenderSVGText {text} at (10,150) size 436x18 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,-14) size 436x18
         chunk 1 text run 1 at (10.00,150.00) startOffset 0 endOffset 68 width 436.00: "The above two squares should be blue-red patterns and look identical"
diff --git a/LayoutTests/platform/mac/svg/custom/pattern-excessive-malloc-expected.checksum b/LayoutTests/platform/mac/svg/custom/pattern-excessive-malloc-expected.checksum
new file mode 100644
index 0000000..88da121
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/custom/pattern-excessive-malloc-expected.checksum
@@ -0,0 +1 @@
+7290a75aa2c5543d87f68f7200683c20
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/custom/pattern-excessive-malloc-expected.png b/LayoutTests/platform/mac/svg/custom/pattern-excessive-malloc-expected.png
new file mode 100644
index 0000000..dfbc0fd
Binary files /dev/null and b/LayoutTests/platform/mac/svg/custom/pattern-excessive-malloc-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/custom/pattern-excessive-malloc-expected.txt b/LayoutTests/platform/mac/svg/custom/pattern-excessive-malloc-expected.txt
new file mode 100644
index 0000000..cca9db5
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/custom/pattern-excessive-malloc-expected.txt
@@ -0,0 +1,9 @@
+KRenderingPaintServer {id="pattern" [type=PATTERN] [bbox=at (0,0) size 800x600]}
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderSVGRoot {svg} at (0,0) size 800x600
+    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+      RenderSVGContainer {pattern} at (0,0) size 800x600
+        RenderPath {rect} at (0,0) size 800x600 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L1215752192.00,0.00 L1215752192.00,1215752192.00 L0.00,1215752192.00 Z"]
+    RenderPath {rect} at (10,300) size 100x100 [fill={[type=PATTERN] [bbox=at (0,0) size 800x600]}] [data="M10.00,300.00 L110.00,300.00 L110.00,400.00 L10.00,400.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/custom/pattern-in-defs-expected.txt b/LayoutTests/platform/mac/svg/custom/pattern-in-defs-expected.txt
index b703525..ccd8a88 100644
--- a/LayoutTests/platform/mac/svg/custom/pattern-in-defs-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/pattern-in-defs-expected.txt
@@ -1,4 +1,4 @@
-KRenderingPaintServer {id="green" [type=PATTERN] [bbox=at (0,0) size 1x1]}
+KRenderingPaintServer {id="green" [type=PATTERN] [bbox=at (0,0) size 100x100]}
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 100x100
@@ -7,4 +7,4 @@ layer at (0,0) size 100x100
       RenderSVGContainer {pattern} at (0,0) size 100x100
         RenderPath {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
     RenderPath {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
-    RenderPath {rect} at (0,0) size 100x100 [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
+    RenderPath {rect} at (0,0) size 100x100 [fill={[type=PATTERN] [bbox=at (0,0) size 100x100]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.checksum b/LayoutTests/platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.checksum
new file mode 100644
index 0000000..6b5405e
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.checksum
@@ -0,0 +1 @@
+4d00f798d360e10d1cf1b47bdbe8e521
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.png b/LayoutTests/platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.png
new file mode 100644
index 0000000..025cdd3
Binary files /dev/null and b/LayoutTests/platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.txt b/LayoutTests/platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.txt
new file mode 100644
index 0000000..1009ec7
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.txt
@@ -0,0 +1,10 @@
+KRenderingPaintServer {id="pattern" [type=PATTERN] [bbox=at (0,0) size 200x100] [pattern transform={m=((0.10,0.00)(0.00,0.10)) t=(0.00,0.00)}]}
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderSVGRoot {svg} at (0,0) size 800x600
+    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+      RenderSVGContainer {pattern} at (0,0) size 200x100
+        RenderPath {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
+        RenderPath {rect} at (100,0) size 100x100 [fill={[type=SOLID] [color=#FF0000]}] [data="M100.00,0.00 L200.00,0.00 L200.00,100.00 L100.00,100.00 Z"]
+    RenderPath {rect} at (0,0) size 100x100 [fill={[type=PATTERN] [bbox=at (0,0) size 200x100] [pattern transform={m=((0.10,0.00)(0.00,0.10)) t=(0.00,0.00)}]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/custom/pattern-skew-transformed-expected.checksum b/LayoutTests/platform/mac/svg/custom/pattern-skew-transformed-expected.checksum
new file mode 100644
index 0000000..9242ca3
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/custom/pattern-skew-transformed-expected.checksum
@@ -0,0 +1 @@
+4c664f93b18f659174a1146595e80f1c
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/custom/pattern-skew-transformed-expected.png b/LayoutTests/platform/mac/svg/custom/pattern-skew-transformed-expected.png
new file mode 100644
index 0000000..c38ef7d
Binary files /dev/null and b/LayoutTests/platform/mac/svg/custom/pattern-skew-transformed-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/custom/pattern-skew-transformed-expected.txt b/LayoutTests/platform/mac/svg/custom/pattern-skew-transformed-expected.txt
new file mode 100644
index 0000000..523ee59
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/custom/pattern-skew-transformed-expected.txt
@@ -0,0 +1,10 @@
+KRenderingPaintServer {id="pattern" [type=PATTERN] [bbox=at (0,0) size 110x110] [pattern transform={m=((1.00,0.00)(1.00,1.00)) t=(0.00,0.00)}]}
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderSVGRoot {svg} at (0,0) size 800x600
+    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+      RenderSVGContainer {pattern} at (0,0) size 110x110
+        RenderPath {rect} at (0,0) size 110x110 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00 L110.00,0.00 L110.00,110.00 L0.00,110.00 Z"]
+        RenderPath {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
+    RenderPath {rect} at (0,0) size 100x100 [fill={[type=PATTERN] [bbox=at (0,0) size 110x110] [pattern transform={m=((1.00,0.00)(1.00,1.00)) t=(0.00,0.00)}]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/custom/pattern-with-transformation-expected.txt b/LayoutTests/platform/mac/svg/custom/pattern-with-transformation-expected.txt
index 70b5990..7ccf7e6 100644
--- a/LayoutTests/platform/mac/svg/custom/pattern-with-transformation-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/pattern-with-transformation-expected.txt
@@ -1,4 +1,4 @@
-KRenderingPaintServer {id="pat" [type=PATTERN] [bbox=at (5,5) size 1x1] [pattern transform={m=((4.00,0.00)(4.00,4.00)) t=(64.00,32.00)}]}
+KRenderingPaintServer {id="pat" [type=PATTERN] [bbox=at (5,5) size 10x10] [pattern transform={m=((4.00,0.00)(4.00,4.00)) t=(64.00,32.00)}]}
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
@@ -10,7 +10,7 @@ layer at (0,0) size 800x600
         RenderPath {rect} at (0,5) size 5x5 [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,5.00 L5.00,5.00 L5.00,10.00 L0.00,10.00 Z"]
         RenderPath {rect} at (5,5) size 5x5 [fill={[type=SOLID] [color=#FFFF00]}] [data="M5.00,5.00 L10.00,5.00 L10.00,10.00 L5.00,10.00 Z"]
     RenderSVGContainer {g} at (9,9) size 122x102
-      RenderPath {rect} at (9,9) size 122x102 [stroke={[type=PATTERN] [bbox=at (5,5) size 1x1] [pattern transform={m=((4.00,0.00)(4.00,4.00)) t=(64.00,32.00)}]}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M10.00,10.00 L130.00,10.00 L130.00,110.00 L10.00,110.00 Z"]
+      RenderPath {rect} at (9,9) size 122x102 [stroke={[type=PATTERN] [bbox=at (5,5) size 10x10] [pattern transform={m=((4.00,0.00)(4.00,4.00)) t=(64.00,32.00)}]}] [fill={[type=SOLID] [color=#FFFFFF]}] [data="M10.00,10.00 L130.00,10.00 L130.00,110.00 L10.00,110.00 Z"]
       RenderSVGText {text} at (15,70) size 86x59 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-46) size 86x59
           chunk 1 text run 1 at (15.00,70.00) startOffset 0 endOffset 4 width 86.00: "Test"
diff --git a/LayoutTests/platform/mac/svg/custom/pattern-y-offset-expected.txt b/LayoutTests/platform/mac/svg/custom/pattern-y-offset-expected.txt
index 8f51569..1d1bcaa 100644
--- a/LayoutTests/platform/mac/svg/custom/pattern-y-offset-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/pattern-y-offset-expected.txt
@@ -1,8 +1,8 @@
-KRenderingPaintServer {id="patternUserSpace" [type=PATTERN] [bbox=at (20,20) size 1x1]}
+KRenderingPaintServer {id="patternUserSpace" [type=PATTERN] [bbox=at (20,20) size 50x30]}
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
   RenderSVGRoot {svg} at (0,0) size 800x600
     RenderSVGContainer {pattern} at (0,0) size 51x31
       RenderPath {rect} at (0,0) size 51x31 [stroke={[type=SOLID] [color=#008000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00 L50.00,0.00 L50.00,30.00 L0.00,30.00 Z"]
-    RenderPath {rect} at (19,19) size 102x62 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (20,20) size 1x1]}] [data="M20.00,20.00 L120.00,20.00 L120.00,80.00 L20.00,80.00 Z"]
+    RenderPath {rect} at (19,19) size 102x62 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (20,20) size 50x30]}] [data="M20.00,20.00 L120.00,20.00 L120.00,80.00 L20.00,80.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/LayoutTests/platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index d8e7420..0d3427d 100644
Binary files a/LayoutTests/platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png and b/LayoutTests/platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/custom/stroked-pattern-expected.txt b/LayoutTests/platform/mac/svg/custom/stroked-pattern-expected.txt
index b0d4581..1be20b2 100644
--- a/LayoutTests/platform/mac/svg/custom/stroked-pattern-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/stroked-pattern-expected.txt
@@ -1,5 +1,5 @@
 KRenderingPaintServer {id="redToYellow" [type=RADIAL-GRADIENT] [stops=[(0.00,#FF0000), (1.00,#FFFF00)]] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.50]}
-KRenderingPaintServer {id="pattern" [type=PATTERN] [bbox=at (-0.90,-0.90) size 1x1]}
+KRenderingPaintServer {id="pattern" [type=PATTERN] [bbox=at (-6.00,-13.50) size 30x15]}
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
@@ -10,7 +10,7 @@ layer at (0,0) size 800x600
         RenderSVGGradientStop {stop} at (0,0) size 0x0
       RenderSVGContainer {pattern} at (97,0) size 114x81
         RenderPath {circle} at (97,0) size 114x81 [stroke={[type=SOLID] [color=#640000] [stroke width=12.00]}] [fill={[type=RADIAL-GRADIENT] [stops=[(0.00,#FF0000), (1.00,#FFFF00)]] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.50]}] [data="M60.00,20.00 L59.92,22.51 L59.68,25.01 L59.29,27.50 L58.74,29.95 L58.04,32.36 L57.19,34.72 L56.19,37.03 L55.05,39.27 L53.77,41.43 L52.36,43.51 L50.82,45.50 L49.16,47.38 L47.38,49.16 L45.50,50.82 L43.51,52.36 L41.43,53.77 L39.27,55.05 L37.03,56.19 L34.72,57.19 L32.36,58.04 L29.95,58.74 L27.50,59.29 L25.01,59.68 L22.51,59.92 L20.00,60.00 L17.49,59.92 L14.99,59.68 L12.50,59.29 L10.05,58.74 L7.64,58.04 L5.28,57.19 L2.97,56.19 L0.73,55.05 L-1.43,53.77 L-3.51,52.36 L-5.50,50.82 L-7.38,49.16 L-9.16,47.38 L-10.82,45.50 L-12.36,43.51 L-13.77,41.43 L-15.05,39.27 L-16.19,37.03 L-17.19,34.72 L-18.04,32.36 L-18.74,29.95 L-19.29,27.50 L-19.68,25.01 L-19.92,22.51 L-20.00,20.00 L-19.92,17.49 L-19.68,14.99 L-19.29,12.50 L-18.74,10.05 L-18.04,7.64 L-17.19,5.28 L-16.19,2.97 L-15.05,0.73 L-13.77,-1.43 L-12.36,-3.51 L-10.82,-5.50 L-9.16,-7.38 L-7.38,-9.16 L-5.50,-10.82 L-3.51,-12.36 L-1.43,-13.77 L0.73,-15.05 L2.97,-16.19 L5.28,-17.19 L7.64,-18.04 L10.05,-18.74 L12.50,-19.29 L14.99,-19.68 L17.49,-19.92 L20.00,-20.00 L22.51,-19.92 L25.01,-19.68 L27.50,-19.29 L29.95,-18.74 L32.36,-18.04 L34.72,-17.19 L37.03,-16.19 L39.27,-15.05 L41.43,-13.77 L43.51,-12.36 L45.50,-10.82 L47.38,-9.16 L49.16,-7.38 L50.82,-5.50 L52.36,-3.51 L53.77,-1.43 L55.05,0.73 L56.19,2.97 L57.19,5.28 L58.04,7.64 L58.74,10.05 L59.29,12.50 L59.68,14.99 L59.92,17.49 Z"]
-    RenderPath {rect} at (188,58) size 424x484 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (-0.90,-0.90) size 1x1]}] [data="M50.00,50.00 L400.00,50.00 L400.00,450.00 L50.00,450.00 Z"]
+    RenderPath {rect} at (188,58) size 424x484 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [bbox=at (-6.00,-13.50) size 30x15]}] [data="M50.00,50.00 L400.00,50.00 L400.00,450.00 L50.00,450.00 Z"]
     RenderPath {rect} at (130,0) size 540x600 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00 L449.00,1.00 L449.00,499.00 L1.00,499.00 Z"]
     RenderSVGContainer {g} at (287,12) size 226x34
       RenderSVGText {text} at (131,20) size 188x13 contains 1 chunk(s)
diff --git a/LayoutTests/platform/mac/svg/custom/transformedMaskFails-expected.png b/LayoutTests/platform/mac/svg/custom/transformedMaskFails-expected.png
index cd5ec1a..08d7138 100644
Binary files a/LayoutTests/platform/mac/svg/custom/transformedMaskFails-expected.png and b/LayoutTests/platform/mac/svg/custom/transformedMaskFails-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/custom/use-on-symbol-inside-pattern-expected.txt b/LayoutTests/platform/mac/svg/custom/use-on-symbol-inside-pattern-expected.txt
index 84e1529..88d9835 100644
--- a/LayoutTests/platform/mac/svg/custom/use-on-symbol-inside-pattern-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/use-on-symbol-inside-pattern-expected.txt
@@ -1,5 +1,5 @@
-KRenderingPaintServer {id="pat00" [type=PATTERN] [bbox=at (0,0) size 1x1]}
-KRenderingPaintServer {id="pat01" [type=PATTERN] [bbox=at (0,0) size 1x1]}
+KRenderingPaintServer {id="pat00" [type=PATTERN] [bbox=at (0,0) size 30x45]}
+KRenderingPaintServer {id="pat01" [type=PATTERN] [bbox=at (0,0) size 30x45]}
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 225x425
@@ -29,11 +29,11 @@ layer at (0,0) size 225x425
           chunk 1 text run 1 at (0.00,10.00) startOffset 0 endOffset 10 width 66.00: "coniferous"
       RenderSVGContainer {use} at (8,8) size 205x94
         RenderSVGContainer {g} at (8,8) size 205x94
-          RenderPath {path} at (8,8) size 205x94 [stroke={[type=SOLID] [color=#B42D25] [stroke width=2.00]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,50.00 L100.00,0.00 L200.00,20.00 L150.00,70.00 L50.00,90.00 Z"]
+          RenderPath {path} at (8,8) size 205x94 [stroke={[type=SOLID] [color=#B42D25] [stroke width=2.00]}] [fill={[type=PATTERN] [bbox=at (0,0) size 30x45]}] [data="M0.00,50.00 L100.00,0.00 L200.00,20.00 L150.00,70.00 L50.00,90.00 Z"]
     RenderSVGContainer {g} at (8,106) size 205x96 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,110.00)}]
       RenderSVGText {text} at (0,10) size 75x18 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,-14) size 75x18
           chunk 1 text run 1 at (0.00,10.00) startOffset 0 endOffset 10 width 75.00: "broadLeave"
       RenderSVGContainer {use} at (8,108) size 205x94
         RenderSVGContainer {g} at (8,108) size 205x94
-          RenderPath {path} at (8,108) size 205x94 [stroke={[type=SOLID] [color=#B42D25] [stroke width=2.00]}] [fill={[type=PATTERN] [bbox=at (0,0) size 1x1]}] [data="M0.00,50.00 L100.00,0.00 L200.00,20.00 L150.00,70.00 L50.00,90.00 Z"]
+          RenderPath {path} at (8,108) size 205x94 [stroke={[type=SOLID] [color=#B42D25] [stroke width=2.00]}] [fill={[type=PATTERN] [bbox=at (0,0) size 30x45]}] [data="M0.00,50.00 L100.00,0.00 L200.00,20.00 L150.00,70.00 L50.00,90.00 Z"]
diff --git a/LayoutTests/svg/custom/pattern-excessive-malloc.svg b/LayoutTests/svg/custom/pattern-excessive-malloc.svg
new file mode 100644
index 0000000..fac173a
--- /dev/null
+++ b/LayoutTests/svg/custom/pattern-excessive-malloc.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg">
+<defs>
+<pattern id="pattern" width="100000000000" height="100000000000" patternUnits="userSpaceOnUse">
+<rect x="0" y="0" width="100000000000" height="100000000000" fill="red" style="stroke:none" />
+</pattern>
+</defs>
+<rect width="100" height="100" x="10" y="300" fill="url(#pattern)" />
+</svg>
+
diff --git a/LayoutTests/svg/custom/pattern-size-bigger-than-target-size.svg b/LayoutTests/svg/custom/pattern-size-bigger-than-target-size.svg
new file mode 100644
index 0000000..e408a23
--- /dev/null
+++ b/LayoutTests/svg/custom/pattern-size-bigger-than-target-size.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg">
+<defs>
+<pattern id="pattern" patternTransform="scale(0.1,0.1)" height="100" width="200" patternUnits="userSpaceOnUse">
+<rect x="0" y="0" width="100" height="100" fill="blue" />
+<rect x="100" y="0" width="100" height="100" fill="red" />
+</pattern>
+</defs>
+<rect x="0" y="0" width="100" height="100" fill="url(#pattern)" />
+</svg>
diff --git a/LayoutTests/svg/custom/pattern-skew-transformed.svg b/LayoutTests/svg/custom/pattern-skew-transformed.svg
new file mode 100644
index 0000000..cf18c5e
--- /dev/null
+++ b/LayoutTests/svg/custom/pattern-skew-transformed.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg">
+<defs>
+<pattern id="pattern" patternTransform="skewX(45)" height="110" width="110" patternUnits="userSpaceOnUse">
+<rect x="0" y="0" width="110" height="110" fill="blue" />
+<rect x="0" y="0" width="100" height="100" fill="red" />
+</pattern>
+</defs>
+<rect width="100" height="100" x="0" y="0" fill="url(#pattern)" />
+</svg>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 730d46c..889acfa 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2010-02-09  Dirk Schulze  <krit at webkit.org>
+
+        Reviewed by Nikolas Zimmermann.
+
+        SVG patterns with some scale patternTransform are not displayed correctly for small elements
+        https://bugs.webkit.org/show_bug.cgi?id=25484
+
+        SVG Pattern size was clipped to the size of the target, if the pattern is bigger than the target. This
+        causes problems, if the patternTransform scales the pattern. This patch deletes the clipping.
+
+        Tests: svg/custom/pattern-excessive-malloc.svg
+               svg/custom/pattern-size-bigger-than-target-size.svg
+               svg/custom/pattern-skew-transformed.svg
+
+        * svg/SVGPatternElement.cpp:
+        (WebCore::SVGPatternElement::buildPattern):
+
 2010-02-09  Darin Adler  <darin at apple.com>
 
         * rendering/RenderObject.cpp:
diff --git a/WebCore/svg/SVGPatternElement.cpp b/WebCore/svg/SVGPatternElement.cpp
index a79d011..7659afa 100644
--- a/WebCore/svg/SVGPatternElement.cpp
+++ b/WebCore/svg/SVGPatternElement.cpp
@@ -209,13 +209,6 @@ void SVGPatternElement::buildPattern(const FloatRect& targetRect) const
                                       attributes.width().value(this),
                                       attributes.height().value(this));
 
-    // Clip pattern boundaries to target boundaries
-    if (patternBoundaries.width() > targetRect.width())
-        patternBoundaries.setWidth(targetRect.width());
-
-    if (patternBoundaries.height() > targetRect.height())
-        patternBoundaries.setHeight(targetRect.height());
-
     IntSize patternSize(patternBoundaries.width(), patternBoundaries.height());
     clampImageBufferSizeToViewport(document()->view(), patternSize);
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list