Title: [101360] trunk
Revision
101360
Author
zimmerm...@webkit.org
Date
2011-11-29 05:00:27 -0800 (Tue, 29 Nov 2011)

Log Message

2011-11-29  Zoltan Herczeg  <zherc...@webkit.org>

        [Qt] Couple of tests have different results on 64 bit and/or in debug mode compared to 32 bit and/or release mode
        https://bugs.webkit.org/show_bug.cgi?id=52810

        Reviewed by Nikolas Zimmermann.

        Update baseline after switching getCTM() to use double-precision internally.

        * platform/mac-snowleopard/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt:
        * platform/mac/svg/custom/non-circular-marker-reference-expected.txt:
        * platform/mac/svg/custom/non-scaling-stroke-markers-expected.txt:
        * platform/mac/svg/custom/object-sizing-explicit-width-height-expected.txt:
        * platform/mac/svg/custom/use-detach-expected.txt:
        * platform/mac/svg/hixie/links/001-expected.txt:
        * platform/mac/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt:
        * platform/mac/svg/text/small-fonts-2-expected.txt:
        * platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.png:

2011-11-29  Zoltan Herczeg  <zherc...@webkit.org>

        [Qt] Couple of tests have different results on 64 bit and/or in debug mode compared to 32 bit and/or release mode
        https://bugs.webkit.org/show_bug.cgi?id=52810

        Reviewed by Nikolas Zimmermann.

        This avoids precision loss in getCTM, which is used whenever mapping repaint rects to a parent coordinate system
        - it affects several DRT results on Mac, all of them are progressions.

        * svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::getCTM): Use double-precision internally.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (101359 => 101360)


--- trunk/LayoutTests/ChangeLog	2011-11-29 12:46:34 UTC (rev 101359)
+++ trunk/LayoutTests/ChangeLog	2011-11-29 13:00:27 UTC (rev 101360)
@@ -1,3 +1,25 @@
+2011-11-29  Zoltan Herczeg  <zherc...@webkit.org>
+
+        [Qt] Couple of tests have different results on 64 bit and/or in debug mode compared to 32 bit and/or release mode
+        https://bugs.webkit.org/show_bug.cgi?id=52810
+
+        Reviewed by Nikolas Zimmermann.
+
+        Update baseline after switching getCTM() to use double-precision internally.
+
+        * platform/mac-snowleopard/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
+        * platform/mac/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt:
+        * platform/mac/svg/custom/non-circular-marker-reference-expected.txt:
+        * platform/mac/svg/custom/non-scaling-stroke-markers-expected.txt:
+        * platform/mac/svg/custom/object-sizing-explicit-width-height-expected.txt:
+        * platform/mac/svg/custom/use-detach-expected.txt:
+        * platform/mac/svg/hixie/links/001-expected.txt:
+        * platform/mac/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt:
+        * platform/mac/svg/text/small-fonts-2-expected.txt:
+        * platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.png:
+
 2011-11-25  Pavel Podivilov  <podivi...@chromium.org>
 
         Web Inspector: support concatenated source maps.

Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt (101359 => 101360)


--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt	2011-11-29 12:46:34 UTC (rev 101359)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt	2011-11-29 13:00:27 UTC (rev 101360)
@@ -6,7 +6,7 @@
       RenderSVGResourceMarker {marker} [id="marker1"] [markerUnits=strokeWidth] [ref at (50,50)] [angle=0.00]
         RenderSVGPath {rect} at (0,0) size 5x5 [fill={[type=SOLID] [color=#4169E1]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
       RenderSVGResourceMarker {marker} [id="marker2"] [markerUnits=strokeWidth] [ref at (100,100)] [angle=0.00]
-        RenderSVGPath {rect} at (0,0) size 16x16 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=200.00] [height=200.00]
+        RenderSVGPath {rect} at (0,0) size 15x15 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=200.00] [height=200.00]
     RenderSVGText {text} at (153,10) size 174x23 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,0) size 174x23
         chunk 1 (middle anchor) text run 1 at (153.00,28.00) startOffset 0 endOffset 22 width 174.00: "'marker' property test"

Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt (101359 => 101360)


--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt	2011-11-29 12:46:34 UTC (rev 101359)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt	2011-11-29 13:00:27 UTC (rev 101360)
@@ -3,9 +3,9 @@
 layer at (0,0) size 480x360
   RenderSVGRoot {svg} at (0,0) size 480x360
     RenderSVGContainer {g} at (0,0) size 480x360
-      RenderSVGPath {rect} at (0,0) size 241x180 [fill={[type=SOLID] [color=#DC143C]}] [x=100.00] [y=100.00] [width=50.00] [height=50.00]
+      RenderSVGPath {rect} at (0,0) size 240x180 [fill={[type=SOLID] [color=#DC143C]}] [x=100.00] [y=100.00] [width=50.00] [height=50.00]
       RenderSVGPath {rect} at (240,180) size 240x180 [fill={[type=SOLID] [color=#DC143C]}] [x=150.00] [y=150.00] [width=50.00] [height=50.00]
-      RenderSVGPath {circle} at (0,180) size 241x180 [fill={[type=SOLID] [color=#FFD700]}] [cx=125.00] [cy=175.00] [r=25.00]
+      RenderSVGPath {circle} at (0,180) size 240x180 [fill={[type=SOLID] [color=#FFD700]}] [cx=125.00] [cy=175.00] [r=25.00]
       RenderSVGPath {circle} at (240,0) size 240x180 [fill={[type=SOLID] [color=#FFD700]}] [cx=175.00] [cy=125.00] [r=25.00]
     RenderSVGText {text} at (105,186) size 66x12 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,0) size 66x12

Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt (101359 => 101360)


--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt	2011-11-29 12:46:34 UTC (rev 101359)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt	2011-11-29 13:00:27 UTC (rev 101360)
@@ -2,11 +2,11 @@
   RenderView at (0,0) size 480x360
 layer at (0,0) size 480x360
   RenderSVGRoot {svg} at (58,0) size 364x360
-    RenderSVGContainer {g} at (59,0) size 361x360
-      RenderSVGPath {rect} at (59,0) size 181x180 [fill={[type=SOLID] [color=#DC143C]}] [x=100.00] [y=100.00] [width=50.00] [height=50.00]
-      RenderSVGPath {rect} at (239,180) size 181x180 [fill={[type=SOLID] [color=#DC143C]}] [x=150.00] [y=150.00] [width=50.00] [height=50.00]
-      RenderSVGPath {circle} at (59,180) size 181x180 [fill={[type=SOLID] [color=#FFD700]}] [cx=125.00] [cy=175.00] [r=25.00]
-      RenderSVGPath {circle} at (239,0) size 181x180 [fill={[type=SOLID] [color=#FFD700]}] [cx=175.00] [cy=125.00] [r=25.00]
+    RenderSVGContainer {g} at (60,0) size 360x360
+      RenderSVGPath {rect} at (60,0) size 180x180 [fill={[type=SOLID] [color=#DC143C]}] [x=100.00] [y=100.00] [width=50.00] [height=50.00]
+      RenderSVGPath {rect} at (240,180) size 180x180 [fill={[type=SOLID] [color=#DC143C]}] [x=150.00] [y=150.00] [width=50.00] [height=50.00]
+      RenderSVGPath {circle} at (60,180) size 180x180 [fill={[type=SOLID] [color=#FFD700]}] [cx=125.00] [cy=175.00] [r=25.00]
+      RenderSVGPath {circle} at (240,0) size 180x180 [fill={[type=SOLID] [color=#FFD700]}] [cx=175.00] [cy=125.00] [r=25.00]
     RenderSVGText {text} at (105,186) size 66x12 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,0) size 66x12
         chunk 1 text run 1 at (105.00,195.00) startOffset 0 endOffset 16 width 65.83: "$Revision: 1.8 $"

Modified: trunk/LayoutTests/platform/mac/svg/custom/non-circular-marker-reference-expected.txt (101359 => 101360)


--- trunk/LayoutTests/platform/mac/svg/custom/non-circular-marker-reference-expected.txt	2011-11-29 12:46:34 UTC (rev 101359)
+++ trunk/LayoutTests/platform/mac/svg/custom/non-circular-marker-reference-expected.txt	2011-11-29 13:00:27 UTC (rev 101360)
@@ -5,5 +5,5 @@
     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
       RenderSVGResourceMarker {marker} [id="mark"] [markerUnits=strokeWidth] [ref at (4,4)] [angle=0.00]
         RenderSVGPath {circle} at (405,305) size 80x80 [stroke={[type=SOLID] [color=#FF0000] [line cap=ROUND]}] [cx=4.00] [cy=4.00] [r=3.00]
-    RenderSVGPath {path} at (234,225) size 331x30 [stroke={[type=SOLID] [color=#000000] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data="" -5 -2 L 0 -2 L 5 -2"]
+    RenderSVGPath {path} at (235,225) size 330x30 [stroke={[type=SOLID] [color=#000000] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [data="" -5 -2 L 0 -2 L 5 -2"]
     RenderSVGPath {path} at (210,320) size 380x80 [stroke={[type=SOLID] [color=#000000] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [start marker=mark] [middle marker=mark] [end marker=mark] [data="" -5 2 L 0 2 L 5 2"]

Modified: trunk/LayoutTests/platform/mac/svg/custom/non-scaling-stroke-markers-expected.txt (101359 => 101360)


--- trunk/LayoutTests/platform/mac/svg/custom/non-scaling-stroke-markers-expected.txt	2011-11-29 12:46:34 UTC (rev 101359)
+++ trunk/LayoutTests/platform/mac/svg/custom/non-scaling-stroke-markers-expected.txt	2011-11-29 13:00:27 UTC (rev 101360)
@@ -1,11 +1,11 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (159,234) size 433x258
+  RenderSVGRoot {svg} at (160,234) size 432x258
     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
       RenderSVGResourceMarker {marker} [id="arrow1"] [markerUnits=userSpaceOnUse] [ref at (5,5)] [angle=90.00]
-        RenderSVGPath {path} at (99,0) size 13x12 [fill={[type=SOLID] [color=#0000FF]}] [data="" 5 0 L 10 10 L 0 10 Z"]
+        RenderSVGPath {path} at (100,0) size 12x12 [fill={[type=SOLID] [color=#0000FF]}] [data="" 5 0 L 10 10 L 0 10 Z"]
       RenderSVGResourceMarker {marker} [id="arrow2"] [markerUnits=strokeWidth] [ref at (5,5)] [angle=90.00]
-        RenderSVGPath {path} at (99,0) size 13x12 [fill={[type=SOLID] [color=#0000FF]}] [data="" 5 0 L 10 10 L 0 10 Z"]
-    RenderSVGPath {line} at (159,234) size 427x12 [stroke={[type=SOLID] [color=#008000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [end marker=arrow1] [x1=10.00] [y1=40.00] [x2=80.00] [y2=40.00]
-    RenderSVGPath {line} at (159,468) size 433x24 [stroke={[type=SOLID] [color=#008000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [end marker=arrow2] [x1=10.00] [y1=80.00] [x2=80.00] [y2=80.00]
+        RenderSVGPath {path} at (100,0) size 12x12 [fill={[type=SOLID] [color=#0000FF]}] [data="" 5 0 L 10 10 L 0 10 Z"]
+    RenderSVGPath {line} at (160,234) size 426x12 [stroke={[type=SOLID] [color=#008000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [end marker=arrow1] [x1=10.00] [y1=40.00] [x2=80.00] [y2=40.00]
+    RenderSVGPath {line} at (160,468) size 432x24 [stroke={[type=SOLID] [color=#008000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [end marker=arrow2] [x1=10.00] [y1=80.00] [x2=80.00] [y2=80.00]

Modified: trunk/LayoutTests/platform/mac/svg/custom/object-sizing-explicit-width-height-expected.txt (101359 => 101360)


--- trunk/LayoutTests/platform/mac/svg/custom/object-sizing-explicit-width-height-expected.txt	2011-11-29 12:46:34 UTC (rev 101359)
+++ trunk/LayoutTests/platform/mac/svg/custom/object-sizing-explicit-width-height-expected.txt	2011-11-29 13:00:27 UTC (rev 101360)
@@ -7,34 +7,34 @@
         layer at (0,0) size 175x275
           RenderView at (0,0) size 175x275
         layer at (0,0) size 175x275
-          RenderSVGRoot {svg} at (0,49) size 175x176
-            RenderSVGPath {rect} at (0,49) size 175x176 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=0.00] [width=300.00] [height=300.00]
-            RenderSVGPath {circle} at (70,119) size 35x36 [fill={[type=SOLID] [color=#008000]}] [cx=150.00] [cy=150.00] [r=30.00]
+          RenderSVGRoot {svg} at (0,50) size 175x175
+            RenderSVGPath {rect} at (0,50) size 175x175 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=0.00] [width=300.00] [height=300.00]
+            RenderSVGPath {circle} at (70,120) size 35x35 [fill={[type=SOLID] [color=#008000]}] [cx=150.00] [cy=150.00] [r=30.00]
       RenderText {#text} at (175,261) size 4x18
         text run at (175,261) width 4: " "
       RenderEmbeddedObject {object} at (179,0) size 175x275 [bgcolor=#FFA500]
         layer at (0,0) size 175x275
           RenderView at (0,0) size 175x275
         layer at (0,0) size 175x275
-          RenderSVGRoot {svg} at (0,49) size 175x176
-            RenderSVGPath {rect} at (0,49) size 175x176 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=0.00] [width=300.00] [height=300.00]
-            RenderSVGPath {circle} at (70,119) size 35x36 [fill={[type=SOLID] [color=#008000]}] [cx=150.00] [cy=150.00] [r=30.00]
+          RenderSVGRoot {svg} at (0,50) size 175x175
+            RenderSVGPath {rect} at (0,50) size 175x175 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=0.00] [width=300.00] [height=300.00]
+            RenderSVGPath {circle} at (70,120) size 35x35 [fill={[type=SOLID] [color=#008000]}] [cx=150.00] [cy=150.00] [r=30.00]
       RenderText {#text} at (354,261) size 4x18
         text run at (354,261) width 4: " "
       RenderEmbeddedObject {object} at (358,0) size 175x275 [bgcolor=#FFA500]
         layer at (0,0) size 175x275
           RenderView at (0,0) size 175x275
         layer at (0,0) size 175x275
-          RenderSVGRoot {svg} at (0,49) size 175x176
-            RenderSVGPath {rect} at (0,49) size 175x176 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=0.00] [width=300.00] [height=300.00]
-            RenderSVGPath {circle} at (70,119) size 35x36 [fill={[type=SOLID] [color=#008000]}] [cx=150.00] [cy=150.00] [r=30.00]
+          RenderSVGRoot {svg} at (0,50) size 175x175
+            RenderSVGPath {rect} at (0,50) size 175x175 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=0.00] [width=300.00] [height=300.00]
+            RenderSVGPath {circle} at (70,120) size 35x35 [fill={[type=SOLID] [color=#008000]}] [cx=150.00] [cy=150.00] [r=30.00]
       RenderText {#text} at (533,261) size 4x18
         text run at (533,261) width 4: " "
       RenderEmbeddedObject {object} at (537,0) size 175x275 [bgcolor=#FFA500]
         layer at (0,0) size 175x275
           RenderView at (0,0) size 175x275
         layer at (0,0) size 175x275
-          RenderSVGRoot {svg} at (0,49) size 175x176
-            RenderSVGPath {rect} at (0,49) size 175x176 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=0.00] [width=300.00] [height=300.00]
-            RenderSVGPath {circle} at (70,119) size 35x36 [fill={[type=SOLID] [color=#008000]}] [cx=150.00] [cy=150.00] [r=30.00]
+          RenderSVGRoot {svg} at (0,50) size 175x175
+            RenderSVGPath {rect} at (0,50) size 175x175 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=0.00] [width=300.00] [height=300.00]
+            RenderSVGPath {circle} at (70,120) size 35x35 [fill={[type=SOLID] [color=#008000]}] [cx=150.00] [cy=150.00] [r=30.00]
       RenderText {#text} at (0,0) size 0x0

Modified: trunk/LayoutTests/platform/mac/svg/custom/use-detach-expected.txt (101359 => 101360)


--- trunk/LayoutTests/platform/mac/svg/custom/use-detach-expected.txt	2011-11-29 12:46:34 UTC (rev 101359)
+++ trunk/LayoutTests/platform/mac/svg/custom/use-detach-expected.txt	2011-11-29 13:00:27 UTC (rev 101360)
@@ -2,22 +2,22 @@
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
   RenderSVGRoot {svg} at (112,12) size 688x236
-    RenderSVGContainer {g} at (112,12) size 241x120 [transform={m=((1.00,0.00)(0.00,1.00)) t=(5.00,5.00)}]
+    RenderSVGContainer {g} at (112,12) size 240x120 [transform={m=((1.00,0.00)(0.00,1.00)) t=(5.00,5.00)}]
       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
         RenderSVGText {text} at (41,20) size 17x14 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 17x14
             chunk 1 (middle anchor) text run 1 at (41.88,31.00) startOffset 0 endOffset 3 width 16.25: "use"
-        RenderSVGPath {circle} at (220,96) size 25x25 [fill={[type=SOLID] [color=#FF0000]}] [cx=50.00] [cy=40.00] [r=5.00]
-      RenderSVGContainer {g} at (208,57) size 49x65
-        RenderSVGContainer {use} at (208,57) size 49x42
-          RenderSVGContainer {g} at (208,57) size 49x42
+        RenderSVGPath {circle} at (220,96) size 24x24 [fill={[type=SOLID] [color=#FF0000]}] [cx=50.00] [cy=40.00] [r=5.00]
+      RenderSVGContainer {g} at (208,57) size 48x65
+        RenderSVGContainer {use} at (208,57) size 48x42
+          RenderSVGContainer {g} at (208,57) size 48x42
             RenderSVGText {text} at (41,20) size 17x14 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 17x14
                 chunk 1 (middle anchor) text run 1 at (41.88,31.00) startOffset 0 endOffset 3 width 16.25: "use"
         RenderSVGContainer {use} at (218,94) size 28x28
           RenderSVGContainer {g} at (218,94) size 28x28
             RenderSVGPath {circle} at (218,94) size 28x28 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF0000]}] [cx=50.00] [cy=40.00] [r=5.00]
-      RenderSVGPath {rect} at (112,12) size 241x120 [opacity=0.20] [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=50.00]
+      RenderSVGPath {rect} at (112,12) size 240x120 [opacity=0.20] [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=50.00]
     RenderSVGContainer {g} at (124,141) size 676x107 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,70.00)}]
       RenderSVGText {text} at (0,-11) size 291x44 contains 1 chunk(s)
         RenderSVGTSpan {tspan} at (0,0) size 284x14

Modified: trunk/LayoutTests/platform/mac/svg/hixie/links/001-expected.txt (101359 => 101360)


--- trunk/LayoutTests/platform/mac/svg/hixie/links/001-expected.txt	2011-11-29 12:46:34 UTC (rev 101359)
+++ trunk/LayoutTests/platform/mac/svg/hixie/links/001-expected.txt	2011-11-29 13:00:27 UTC (rev 101360)
@@ -1,11 +1,11 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (249,90) size 301x420
-    RenderSVGContainer {a} at (249,90) size 301x180
-      RenderSVGPath {circle} at (249,90) size 181x180 [fill={[type=SOLID] [color=#0000FF]}] [cx=40.00] [cy=30.00] [r=15.00]
+  RenderSVGRoot {svg} at (250,90) size 300x420
+    RenderSVGContainer {a} at (250,90) size 300x180
+      RenderSVGPath {circle} at (250,90) size 180x180 [fill={[type=SOLID] [color=#0000FF]}] [cx=40.00] [cy=30.00] [r=15.00]
       RenderSVGPath {circle} at (370,90) size 180x180 [fill={[type=SOLID] [color=#0000FF]}] [cx=60.00] [cy=30.00] [r=15.00]
-    RenderSVGContainer {a} at (249,330) size 301x180
-      RenderSVGContainer {g} at (249,330) size 301x180
-        RenderSVGPath {circle} at (249,330) size 181x180 [fill={[type=SOLID] [color=#0000FF]}] [cx=40.00] [cy=70.00] [r=15.00]
+    RenderSVGContainer {a} at (250,330) size 300x180
+      RenderSVGContainer {g} at (250,330) size 300x180
+        RenderSVGPath {circle} at (250,330) size 180x180 [fill={[type=SOLID] [color=#0000FF]}] [cx=40.00] [cy=70.00] [r=15.00]
         RenderSVGPath {circle} at (370,330) size 180x180 [fill={[type=SOLID] [color=#0000FF]}] [cx=60.00] [cy=70.00] [r=15.00]

Modified: trunk/LayoutTests/platform/mac/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt (101359 => 101360)


--- trunk/LayoutTests/platform/mac/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt	2011-11-29 12:46:34 UTC (rev 101359)
+++ trunk/LayoutTests/platform/mac/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt	2011-11-29 13:00:27 UTC (rev 101360)
@@ -2,7 +2,7 @@
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
   RenderSVGRoot {svg} at (97,0) size 606x600
-    RenderSVGPath {rect} at (99,0) size 601x600 [fill={[type=SOLID] [color=#000080]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
+    RenderSVGPath {rect} at (100,0) size 600x600 [fill={[type=SOLID] [color=#000080]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
     RenderSVGPath {line} at (97,0) size 606x600 [stroke={[type=SOLID] [color=#0000FF]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=100.00] [y2=100.00]
     RenderSVGPath {line} at (97,0) size 606x600 [stroke={[type=SOLID] [color=#0000FF]}] [fill={[type=SOLID] [color=#000000]}] [x1=100.00] [y1=0.00] [x2=0.00] [y2=100.00]
     RenderSVGText {text} at (11,23) size 78x8 contains 1 chunk(s)

Modified: trunk/LayoutTests/platform/mac/svg/text/small-fonts-2-expected.txt (101359 => 101360)


--- trunk/LayoutTests/platform/mac/svg/text/small-fonts-2-expected.txt	2011-11-29 12:46:34 UTC (rev 101359)
+++ trunk/LayoutTests/platform/mac/svg/text/small-fonts-2-expected.txt	2011-11-29 13:00:27 UTC (rev 101360)
@@ -1,24 +1,24 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (159,0) size 493x531
-    RenderSVGContainer {g} at (159,0) size 282x76 [transform={m=((0.10,0.00)(0.00,0.10)) t=(10.00,10.00)}]
+  RenderSVGRoot {svg} at (160,0) size 492x531
+    RenderSVGContainer {g} at (160,0) size 281x76 [transform={m=((0.10,0.00)(0.00,0.10)) t=(10.00,10.00)}]
       RenderSVGText {text} at (0,-109) size 467x135 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 467x135
           chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 9 width 466.67: "0,1,2,3,4"
-    RenderSVGContainer {g} at (159,84) size 283x84 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,25.00)}]
+    RenderSVGContainer {g} at (160,84) size 282x84 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,25.00)}]
       RenderSVGText {text} at (0,-11) size 47x14 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 47x14
           chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 9 width 46.67: "0,1,2,3,4"
-    RenderSVGContainer {g} at (159,168) size 289x144 [transform={m=((12.00,0.00)(0.00,12.00)) t=(10.00,40.00)}]
+    RenderSVGContainer {g} at (160,168) size 288x144 [transform={m=((12.00,0.00)(0.00,12.00)) t=(10.00,40.00)}]
       RenderSVGText {text} at (0,-1) size 4x2 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 4x2
           chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 9 width 3.89: "0,1,2,3,4"
-    RenderSVGContainer {g} at (159,186) size 289x288 [transform={m=((24.00,0.00)(0.00,24.00)) t=(10.00,55.00)}]
+    RenderSVGContainer {g} at (160,186) size 288x288 [transform={m=((24.00,0.00)(0.00,24.00)) t=(10.00,55.00)}]
       RenderSVGText {text} at (0,-1) size 2x1 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 2x1
           chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 9 width 1.94: "0,1,2,3,4"
-    RenderSVGContainer {g} at (159,375) size 493x156 [transform={m=((0.30,0.00)(0.00,0.30)) t=(10.00,65.00)}]
+    RenderSVGContainer {g} at (160,375) size 492x156 [transform={m=((0.30,0.00)(0.00,0.30)) t=(10.00,65.00)}]
       RenderSVGText {text} at (0,-8) size 273x85 contains 1 chunk(s)
         RenderSVGTSpan {tspan} at (0,0) size 223x10
           RenderSVGInlineText {#text} at (0,0) size 223x10

Modified: trunk/LayoutTests/platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.png


(Binary files differ)

Modified: trunk/LayoutTests/platform/mac-snowleopard/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png


(Binary files differ)

Modified: trunk/Source/WebCore/ChangeLog (101359 => 101360)


--- trunk/Source/WebCore/ChangeLog	2011-11-29 12:46:34 UTC (rev 101359)
+++ trunk/Source/WebCore/ChangeLog	2011-11-29 13:00:27 UTC (rev 101360)
@@ -1,3 +1,16 @@
+2011-11-29  Zoltan Herczeg  <zherc...@webkit.org>
+
+        [Qt] Couple of tests have different results on 64 bit and/or in debug mode compared to 32 bit and/or release mode
+        https://bugs.webkit.org/show_bug.cgi?id=52810
+
+        Reviewed by Nikolas Zimmermann.
+
+        This avoids precision loss in getCTM, which is used whenever mapping repaint rects to a parent coordinate system
+        - it affects several DRT results on Mac, all of them are progressions.
+
+        * svg/SVGPreserveAspectRatio.cpp:
+        (WebCore::SVGPreserveAspectRatio::getCTM): Use double-precision internally.
+
 2011-11-25  Pavel Podivilov  <podivi...@chromium.org>
 
         Web Inspector: support concatenated source maps.

Modified: trunk/Source/WebCore/svg/SVGPreserveAspectRatio.cpp (101359 => 101360)


--- trunk/Source/WebCore/svg/SVGPreserveAspectRatio.cpp	2011-11-29 12:46:34 UTC (rev 101359)
+++ trunk/Source/WebCore/svg/SVGPreserveAspectRatio.cpp	2011-11-29 13:00:27 UTC (rev 101360)
@@ -248,42 +248,48 @@
     }
 }
 
-AffineTransform SVGPreserveAspectRatio::getCTM(float logicX, float logicY, float logicWidth, float logicHeight, float physWidth, float physHeight) const
+AffineTransform SVGPreserveAspectRatio::getCTM(float logicalX, float logicalY, float logicalWidth, float logicalHeight, float physicalWidth, float physicalHeight) const
 {
     AffineTransform transform;
     if (m_align == SVG_PRESERVEASPECTRATIO_UNKNOWN)
         return transform;
 
-    float logicalRatio = logicWidth / logicHeight;
-    float physRatio = physWidth / physHeight;
+    double extendedLogicalX = logicalX;
+    double extendedLogicalY = logicalY;
+    double extendedLogicalWidth = logicalWidth;
+    double extendedLogicalHeight = logicalHeight;
+    double extendedPhysicalWidth = physicalWidth;
+    double extendedPhysicalHeight = physicalHeight;
+    double logicalRatio = extendedLogicalWidth / extendedLogicalHeight;
+    double physicalRatio = extendedPhysicalWidth / extendedPhysicalHeight;
 
     if (m_align == SVG_PRESERVEASPECTRATIO_NONE) {
-        transform.scaleNonUniform(physWidth / logicWidth, physHeight / logicHeight);
-        transform.translate(-logicX, -logicY);
+        transform.scaleNonUniform(extendedPhysicalWidth / extendedLogicalWidth, extendedPhysicalHeight / extendedLogicalHeight);
+        transform.translate(-extendedLogicalX, -extendedLogicalY);
         return transform;
     }
 
-    if ((logicalRatio < physRatio && (m_meetOrSlice == SVG_MEETORSLICE_MEET)) || (logicalRatio >= physRatio && (m_meetOrSlice == SVG_MEETORSLICE_SLICE))) {
-        transform.scaleNonUniform(physHeight / logicHeight, physHeight / logicHeight);
+    if ((logicalRatio < physicalRatio && (m_meetOrSlice == SVG_MEETORSLICE_MEET)) || (logicalRatio >= physicalRatio && (m_meetOrSlice == SVG_MEETORSLICE_SLICE))) {
+        transform.scaleNonUniform(extendedPhysicalHeight / extendedLogicalHeight, extendedPhysicalHeight / extendedLogicalHeight);
 
         if (m_align == SVG_PRESERVEASPECTRATIO_XMINYMIN || m_align == SVG_PRESERVEASPECTRATIO_XMINYMID || m_align == SVG_PRESERVEASPECTRATIO_XMINYMAX)
-            transform.translate(-logicX, -logicY);
+            transform.translate(-extendedLogicalX, -extendedLogicalY);
         else if (m_align == SVG_PRESERVEASPECTRATIO_XMIDYMIN || m_align == SVG_PRESERVEASPECTRATIO_XMIDYMID || m_align == SVG_PRESERVEASPECTRATIO_XMIDYMAX)
-            transform.translate(-logicX - (logicWidth - physWidth * logicHeight / physHeight) / 2, -logicY);
+            transform.translate(-extendedLogicalX - (extendedLogicalWidth - extendedPhysicalWidth * extendedLogicalHeight / extendedPhysicalHeight) / 2, -extendedLogicalY);
         else
-            transform.translate(-logicX - (logicWidth - physWidth * logicHeight / physHeight), -logicY);
+            transform.translate(-extendedLogicalX - (extendedLogicalWidth - extendedPhysicalWidth * extendedLogicalHeight / extendedPhysicalHeight), -extendedLogicalY);
         
         return transform;
     }
 
-    transform.scaleNonUniform(physWidth / logicWidth, physWidth / logicWidth);
+    transform.scaleNonUniform(extendedPhysicalWidth / extendedLogicalWidth, extendedPhysicalWidth / extendedLogicalWidth);
 
     if (m_align == SVG_PRESERVEASPECTRATIO_XMINYMIN || m_align == SVG_PRESERVEASPECTRATIO_XMIDYMIN || m_align == SVG_PRESERVEASPECTRATIO_XMAXYMIN)
-        transform.translate(-logicX, -logicY);
+        transform.translate(-extendedLogicalX, -extendedLogicalY);
     else if (m_align == SVG_PRESERVEASPECTRATIO_XMINYMID || m_align == SVG_PRESERVEASPECTRATIO_XMIDYMID || m_align == SVG_PRESERVEASPECTRATIO_XMAXYMID)
-        transform.translate(-logicX, -logicY - (logicHeight - physHeight * logicWidth / physWidth) / 2);
+        transform.translate(-extendedLogicalX, -extendedLogicalY - (extendedLogicalHeight - extendedPhysicalHeight * extendedLogicalWidth / extendedPhysicalWidth) / 2);
     else
-        transform.translate(-logicX, -logicY - (logicHeight - physHeight * logicWidth / physWidth));
+        transform.translate(-extendedLogicalX, -extendedLogicalY - (extendedLogicalHeight - extendedPhysicalHeight * extendedLogicalWidth / extendedPhysicalWidth));
 
     return transform;
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to