2012-04-07 Nikolas Zimmermann <nzimmermann@rim.com>
authorzimmermann@webkit.org <zimmermann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 7 Apr 2012 07:38:48 +0000 (07:38 +0000)
committerzimmermann@webkit.org <zimmermann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 7 Apr 2012 07:38:48 +0000 (07:38 +0000)
        Work around an entity parsing bug in libxml2 2.7.3 (supplied with Lion) and unskip tests
        https://bugs.webkit.org/show_bug.cgi?id=82577

        Reviewed by Filip Pizlo.

        Unskip several tests on Lion, now that the libxml2 bug doesn't affect us anymore.

        * platform/mac-lion/Skipped:
        * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
        * platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.png:
        * platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.txt:
        * platform/mac/svg/custom/viewbox-syntax-expected.png:
        * platform/mac/svg/custom/viewbox-syntax-expected.txt:
        * platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.png:
        * platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt:
        * platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png:
        * platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt:

2012-04-07  Nikolas Zimmermann  <nzimmermann@rim.com>

        Work around an entity parsing bug in libxml2 2.7.3 (supplied with Lion) and unskip tests
        https://bugs.webkit.org/show_bug.cgi?id=82577

        Reviewed by Filip Pizlo.

        Work-around entity expansion bug that affects several SVG tests on Lion.

        Sample test document which is currently broken:
        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" [
        <!ENTITY Smile "<rect x='.5' y='.5' width='29' height='39' fill='black' stroke='red'/>">
        ]>

        <svg xmlns="http://www.w3.org/2000/svg">&Smile;</svg>

        The expanded rect carries no namespace, thus an Element will be created for it, instead of a SVGRectElement.
        libxml2 2.7.4 fixed this bug (https://bugzilla.gnome.org/show_bug.cgi?id=502960) in 2009 already, but Lion
        still ships with 2.7.3, so we need to find a work-around for the problem. It works like this:
        - When an entity is requested (getEntityHandler) determine whether the entity is being declared (while the <!ENTITY.. parses)
          or wheter its references (when the &Smile; is parsed). If its referenced, record the current depth of the libxml2 parser.
        - When startElementNs is called while we're expanding entities, be sure to transfer the namespace of the parent node
          to the new node, but only do this if the current depth() is greater than the depth() at the time where entity expansion started.
          This way we only apply our workaround for elements inside entities, that get expanded at the insertion point.
        - When endElementNs is called, and our current depth() is less than our equal to the depth() where entity expansion started,
          clear the recorded detph(), and stop executing the workaround.

        It requires storing an extra integer & boolean in XMLDocumentParser, which is only used for this work-around.

        * xml/parser/XMLDocumentParser.h:
        (XMLDocumentParser):
        (WebCore::XMLDocumentParser::isParsingEntityDeclaration):
        (WebCore::XMLDocumentParser::setIsParsingEntityDeclaration):
        (WebCore::XMLDocumentParser::depthTriggeringEntityExpansion):
        (WebCore::XMLDocumentParser::setDepthTriggeringEntityExpansion):
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::hackAroundLibXMLEntityParsingBug):
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::entityDeclarationHandler):
        (WebCore::getEntityHandler):
        (WebCore::XMLDocumentParser::initializeParserContext):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@113542 268f45cc-cd09-0410-ab3c-d52691b4dbfc

19 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/mac-lion/Skipped
LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png
LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt
LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.png
LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt
LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png
LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt
LayoutTests/platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.png
LayoutTests/platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.txt
LayoutTests/platform/mac/svg/custom/viewbox-syntax-expected.png
LayoutTests/platform/mac/svg/custom/viewbox-syntax-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.png
LayoutTests/platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt
LayoutTests/platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png
LayoutTests/platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/xml/parser/XMLDocumentParser.h
Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp

index 1ee178d..81bb6c4 100644 (file)
@@ -1,3 +1,28 @@
+2012-04-07  Nikolas Zimmermann  <nzimmermann@rim.com>
+
+        Work around an entity parsing bug in libxml2 2.7.3 (supplied with Lion) and unskip tests
+        https://bugs.webkit.org/show_bug.cgi?id=82577
+
+        Reviewed by Filip Pizlo.
+
+        Unskip several tests on Lion, now that the libxml2 bug doesn't affect us anymore.
+
+        * platform/mac-lion/Skipped:
+        * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png:
+        * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.png:
+        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png:
+        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
+        * platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.png:
+        * platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.txt:
+        * platform/mac/svg/custom/viewbox-syntax-expected.png:
+        * platform/mac/svg/custom/viewbox-syntax-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.png:
+        * platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt:
+        * platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png:
+        * platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt:
+
 2012-04-06  Andrew Scherkus  <scherkus@chromium.org>
 
         [chromium] Add layout tests that exercise rendering path for videos that have changing resolutions.
index ad05cd3..702b78c 100644 (file)
@@ -105,20 +105,6 @@ plugins/form-value.html
 # WebKit1 OOP plug-ins: Exceptions aren't thrown on invoke failure.
 plugins/npruntime/invoke-failure.html
 
-# --- SVG ---
-
-# Missing some of the content.
-svg/W3C-SVG-1.1/coords-viewattr-01-b.svg
-svg/W3C-SVG-1.1/coords-viewattr-02-b.svg
-svg/custom/preserve-aspect-ratio-syntax.svg
-svg/custom/viewbox-syntax.svg
-svg/zoom/page/zoom-coords-viewattr-01-b.svg
-svg/zoom/text/zoom-coords-viewattr-01-b.svg
-svg/W3C-SVG-1.1/render-elems-03-t.svg
-
-# Has text chunked differently from Snow Leopard.
-svg/W3C-SVG-1.1-SE/types-dom-01-b.svg
-
 # --- Misc failures that need investigation ---
 
 # Sending the mouse down event to the scrollbar starts a nested run loop which causes a hang.
index 137a664..25bbdd4 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png and b/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png differ
index f7d12e1..dbf0c7a 100644 (file)
@@ -3,37 +3,98 @@ layer at (0,0) size 480x360
 layer at (0,0) size 480x360
   RenderSVGRoot {svg} at (0,0) size 480x360
     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-    RenderSVGContainer {g} at (10,8) size 365x295
-      RenderSVGContainer {g} at (10,8) size 365x295
-        RenderSVGContainer {g} at (16,8) size 359x157 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,-60.00)}]
-          RenderSVGText {text} at (30,131) size 345x24 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 345x24
-              chunk 1 text run 1 at (30.00,150.00) startOffset 0 endOffset 37 width 345.00: "Rotated Text for testing SVGLocatable"
-          RenderSVGText {text} at (100,111) size 309x24 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 309x24
-              chunk 1 text run 1 at (100.00,130.00) startOffset 0 endOffset 35 width 308.57: "Some other text with id 'otherText'"
+    RenderSVGContainer {g} at (10,9) size 365x294
+      RenderSVGContainer {g} at (10,9) size 365x294
+        RenderSVGContainer {g} at (17,9) size 358x153 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,-60.00)}]
+          RenderSVGText {text} at (30,134) size 338x20 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 338x20
+              chunk 1 text run 1 at (30.00,150.00) startOffset 0 endOffset 1 width 14.44: "R"
+              chunk 1 text run 2 at (44.26,150.00) startOffset 1 endOffset 2 width 11.12: "o"
+              chunk 1 text run 3 at (55.18,150.00) startOffset 2 endOffset 3 width 5.56: "t"
+              chunk 1 text run 4 at (60.72,150.00) startOffset 3 endOffset 5 width 16.68: "at"
+              chunk 1 text run 5 at (77.12,150.00) startOffset 5 endOffset 9 width 40.02: "ed T"
+              chunk 1 text run 6 at (115.24,150.00) startOffset 9 endOffset 10 width 11.12: "e"
+              chunk 1 text run 7 at (125.82,150.00) startOffset 10 endOffset 14 width 26.68: "xt f"
+              chunk 1 text run 8 at (152.30,150.00) startOffset 14 endOffset 18 width 28.90: "or t"
+              chunk 1 text run 9 at (180.92,150.00) startOffset 18 endOffset 20 width 21.12: "es"
+              chunk 1 text run 10 at (201.98,150.00) startOffset 20 endOffset 26 width 51.14: "ting S"
+              chunk 1 text run 11 at (252.28,150.00) startOffset 26 endOffset 27 width 13.34: "V"
+              chunk 1 text run 12 at (264.78,150.00) startOffset 27 endOffset 33 width 64.48: "GLocat"
+              chunk 1 text run 13 at (329.24,150.00) startOffset 33 endOffset 37 width 37.80: "able"
+          RenderSVGText {text} at (100,114) size 298x20 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 298x20
+              chunk 1 text run 1 at (100.00,130.00) startOffset 0 endOffset 6 width 68.92: "Some o"
+              chunk 1 text run 2 at (168.72,130.00) startOffset 6 endOffset 7 width 5.56: "t"
+              chunk 1 text run 3 at (174.22,130.00) startOffset 7 endOffset 12 width 40.02: "her t"
+              chunk 1 text run 4 at (213.96,130.00) startOffset 12 endOffset 13 width 11.12: "e"
+              chunk 1 text run 5 at (224.54,130.00) startOffset 13 endOffset 19 width 45.56: "xt wit"
+              chunk 1 text run 6 at (270.04,130.00) startOffset 19 endOffset 26 width 52.74: "h id 'o"
+              chunk 1 text run 7 at (322.58,130.00) startOffset 26 endOffset 27 width 5.56: "t"
+              chunk 1 text run 8 at (328.08,130.00) startOffset 27 endOffset 31 width 41.12: "herT"
+              chunk 1 text run 9 at (367.30,130.00) startOffset 31 endOffset 32 width 11.12: "e"
+              chunk 1 text run 10 at (377.88,130.00) startOffset 32 endOffset 35 width 19.38: "xt'"
           RenderSVGViewportContainer {svg} at (275,45) size 100x100
-            RenderSVGPath {circle} at (275,45) size 100x100 [fill={[type=SOLID] [color=#0000FF]}] [cx=0.00] [cy=0.00] [r=50.00]
-        RenderSVGText {text} at (10,188) size 294x15 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 294x15
-            chunk 1 text run 1 at (10.00,200.00) startOffset 0 endOffset 52 width 294.00: ".getScreenCTM(): 0.71,0.71,-0.71,0.71,116.67,-100.00"
-        RenderSVGText {text} at (10,208) size 255x15 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 255x15
-            chunk 1 text run 1 at (10.00,220.00) startOffset 0 endOffset 46 width 255.00: ".getCTM(): 0.71,0.71,-0.71,0.71,116.67,-100.00"
-        RenderSVGText {text} at (10,228) size 311x15 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 311x15
-            chunk 1 text run 1 at (10.00,240.00) startOffset 0 endOffset 56 width 311.00: ".getTransformToElement(): 0.42,0.42,-0.42,0.42,0.00,0.00"
-        RenderSVGText {text} at (10,248) size 345x15 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 345x15
-            chunk 1 text run 1 at (10.00,260.00) startOffset 0 endOffset 65 width 345.00: ".getBBox() for 'blueCircle': .x=-50,.y=-50,.width=100,.height=100"
-        RenderSVGText {text} at (10,268) size 259x15 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 259x15
-            chunk 1 text run 1 at (10.00,280.00) startOffset 0 endOffset 47 width 259.00: ".farthestViewportElement of blueCircle=svg-root"
-        RenderSVGText {text} at (10,288) size 278x15 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 278x15
-            chunk 1 text run 1 at (10.00,300.00) startOffset 0 endOffset 47 width 278.00: ".nearestViewportElement of blueCircle=nestedSVG"
-    RenderSVGContainer {g} at (10,310) size 231x38
-      RenderSVGText {text} at (10,310) size 231x38 contains 1 chunk(s)
-        RenderSVGInlineText {#text} at (0,0) size 231x38
-          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 231.00: "$Revision: 1.6 $"
+            RenderSVGEllipse {circle} at (275,45) size 100x100 [fill={[type=SOLID] [color=#0000FF]}] [cx=0.00] [cy=0.00] [r=50.00]
+        RenderSVGText {text} at (10,190) size 277x12 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 277x12
+            chunk 1 text run 1 at (10.00,200.00) startOffset 0 endOffset 3 width 16.68: ".ge"
+            chunk 1 text run 2 at (26.56,200.00) startOffset 3 endOffset 4 width 3.34: "t"
+            chunk 1 text run 3 at (29.80,200.00) startOffset 4 endOffset 7 width 18.00: "Scr"
+            chunk 1 text run 4 at (47.67,200.00) startOffset 7 endOffset 50 width 238.80: "eenCTM(): 0.42,0.42,-0.42,0.42,70.00,-60.00"
+        RenderSVGText {text} at (10,210) size 239x12 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 239x12
+            chunk 1 text run 1 at (10.00,220.00) startOffset 0 endOffset 3 width 16.68: ".ge"
+            chunk 1 text run 2 at (26.56,220.00) startOffset 3 endOffset 44 width 222.12: "tCTM(): 0.42,0.42,-0.42,0.42,70.00,-60.00"
+        RenderSVGText {text} at (10,230) size 306x12 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 306x12
+            chunk 1 text run 1 at (10.00,240.00) startOffset 0 endOffset 3 width 16.68: ".ge"
+            chunk 1 text run 2 at (26.56,240.00) startOffset 3 endOffset 5 width 10.67: "tT"
+            chunk 1 text run 3 at (36.12,240.00) startOffset 5 endOffset 6 width 4.00: "r"
+            chunk 1 text run 4 at (40.06,240.00) startOffset 6 endOffset 10 width 22.68: "ansf"
+            chunk 1 text run 5 at (62.62,240.00) startOffset 10 endOffset 14 width 28.00: "ormT"
+            chunk 1 text run 6 at (89.51,240.00) startOffset 14 endOffset 56 width 226.14: "oElement(): 0.42,0.42,-0.42,0.42,0.00,0.00"
+        RenderSVGText {text} at (10,250) size 339x12 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 339x12
+            chunk 1 text run 1 at (10.00,260.00) startOffset 0 endOffset 3 width 16.68: ".ge"
+            chunk 1 text run 2 at (26.56,260.00) startOffset 3 endOffset 7 width 26.02: "tBBo"
+            chunk 1 text run 3 at (52.25,260.00) startOffset 7 endOffset 12 width 20.66: "x() f"
+            chunk 1 text run 4 at (72.80,260.00) startOffset 12 endOffset 23 width 54.30: "or 'blueCir"
+            chunk 1 text run 5 at (127.02,260.00) startOffset 23 endOffset 48 width 123.01: "cle': .x=-50,.y=-50,.widt"
+            chunk 1 text run 6 at (250.00,260.00) startOffset 48 endOffset 51 width 20.35: "h=1"
+            chunk 1 text run 7 at (269.61,260.00) startOffset 51 endOffset 63 width 66.38: "00,.height=1"
+            chunk 1 text run 8 at (335.25,260.00) startOffset 63 endOffset 65 width 13.34: "00"
+        RenderSVGText {text} at (10,270) size 255x12 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 255x12
+            chunk 1 text run 1 at (10.00,280.00) startOffset 0 endOffset 2 width 6.67: ".f"
+            chunk 1 text run 2 at (16.56,280.00) startOffset 2 endOffset 4 width 10.67: "ar"
+            chunk 1 text run 3 at (27.57,280.00) startOffset 4 endOffset 5 width 3.34: "t"
+            chunk 1 text run 4 at (30.87,280.00) startOffset 5 endOffset 8 width 19.34: "hes"
+            chunk 1 text run 5 at (50.18,280.00) startOffset 8 endOffset 10 width 11.34: "tV"
+            chunk 1 text run 6 at (61.46,280.00) startOffset 10 endOffset 12 width 9.34: "ie"
+            chunk 1 text run 7 at (70.68,280.00) startOffset 12 endOffset 16 width 26.00: "wpor"
+            chunk 1 text run 8 at (97.02,280.00) startOffset 16 endOffset 35 width 102.04: "tElement of blueCir"
+            chunk 1 text run 9 at (198.99,280.00) startOffset 35 endOffset 41 width 34.34: "cle=sv"
+            chunk 1 text run 10 at (233.16,280.00) startOffset 41 endOffset 44 width 14.66: "g-r"
+            chunk 1 text run 11 at (247.76,280.00) startOffset 44 endOffset 46 width 13.34: "oo"
+            chunk 1 text run 12 at (260.98,280.00) startOffset 46 endOffset 47 width 3.34: "t"
+        RenderSVGText {text} at (10,290) size 272x12 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 272x12
+            chunk 1 text run 1 at (10.00,300.00) startOffset 0 endOffset 5 width 27.35: ".near"
+            chunk 1 text run 2 at (37.22,300.00) startOffset 5 endOffset 7 width 12.67: "es"
+            chunk 1 text run 3 at (49.85,300.00) startOffset 7 endOffset 9 width 11.34: "tV"
+            chunk 1 text run 4 at (61.13,300.00) startOffset 9 endOffset 11 width 9.34: "ie"
+            chunk 1 text run 5 at (70.36,300.00) startOffset 11 endOffset 15 width 26.00: "wpor"
+            chunk 1 text run 6 at (96.70,300.00) startOffset 15 endOffset 34 width 102.04: "tElement of blueCir"
+            chunk 1 text run 7 at (198.66,300.00) startOffset 34 endOffset 41 width 41.69: "cle=nes"
+            chunk 1 text run 8 at (240.32,300.00) startOffset 41 endOffset 42 width 3.34: "t"
+            chunk 1 text run 9 at (243.48,300.00) startOffset 42 endOffset 45 width 21.35: "edS"
+            chunk 1 text run 10 at (264.33,300.00) startOffset 45 endOffset 46 width 8.00: "V"
+            chunk 1 text run 11 at (271.83,300.00) startOffset 46 endOffset 47 width 9.34: "G"
+    RenderSVGContainer {g} at (10,314) size 227x33
+      RenderSVGText {text} at (10,314) size 227x32 contains 1 chunk(s)
+        RenderSVGInlineText {#text} at (0,0) size 227x32
+          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 2 width 40.90: "$R"
+          chunk 1 text run 2 at (50.51,340.00) startOffset 2 endOffset 3 width 17.79: "e"
+          chunk 1 text run 3 at (67.82,340.00) startOffset 3 endOffset 12 width 117.38: "vision: 1"
+          chunk 1 text run 4 at (182.83,340.00) startOffset 12 endOffset 16 width 53.38: ".6 $"
     RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
index 2ddf24b..8159f37 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.png and b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.png differ
index 35741ab..f085be8 100644 (file)
@@ -4,186 +4,186 @@ layer at (0,0) size 480x360
   RenderSVGRoot {svg} at (0,0) size 480x360
     RenderSVGContainer {g} at (10,52) size 420x243 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
       RenderSVGContainer {g} at (10,52) size 420x243
-        RenderSVGText {text} at (10,22) size 38x11 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 38x11
+        RenderSVGText {text} at (10,22) size 38x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 38x10
             chunk 1 text run 1 at (10.00,30.00) startOffset 0 endOffset 10 width 38.00: "SVG to fit"
         RenderSVGContainer {g} at (20,70) size 30x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
           RenderSVGRect {rect} at (20,70) size 30x40 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
           RenderSVGContainer {g} at (25,80) size 20x20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-            RenderSVGPath {circle} at (25,80) size 20x20 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-            RenderSVGPath {circle} at (30,85) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-            RenderSVGPath {circle} at (35,85) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+            RenderSVGEllipse {circle} at (25,80) size 20x20 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+            RenderSVGEllipse {circle} at (30,85) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+            RenderSVGEllipse {circle} at (35,85) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
             RenderSVGPath {path} at (29,93) size 12x7 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-        RenderSVGText {text} at (10,102) size 42x11 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 42x11
+        RenderSVGText {text} at (10,102) size 42x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 42x10
             chunk 1 text run 1 at (10.00,110.00) startOffset 0 endOffset 10 width 42.00: "Viewport 1"
         RenderSVGContainer {g} at (10,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
           RenderSVGRect {rect} at (10,150) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
-        RenderSVGText {text} at (10,172) size 42x11 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 42x11
+        RenderSVGText {text} at (10,172) size 42x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 42x10
             chunk 1 text run 1 at (10.00,180.00) startOffset 0 endOffset 10 width 42.00: "Viewport 2"
         RenderSVGContainer {g} at (20,220) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
           RenderSVGRect {rect} at (20,220) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
         RenderSVGContainer {g} at (120,52) size 120x108 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,50.00)}]
-          RenderSVGText {text} at (0,-28) size 112x11 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 112x11
+          RenderSVGText {text} at (0,-28) size 112x10 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 112x10
               chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 36 width 112.00: "---------- meet --------------------"
           RenderSVGContainer {g} at (120,67) size 50x43
-            RenderSVGText {text} at (0,-13) size 26x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 26x11
+            RenderSVGText {text} at (0,-13) size 26x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 26x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.00: "xMin*"
             RenderSVGRect {rect} at (120,80) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
             RenderSVGViewportContainer {svg} at (120,80) size 23x30
               RenderSVGRect {rect} at (120,80) size 23x30 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (123,87) size 16x16 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (123,87) size 16x16 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (127,91) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (131,91) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (126,97) size 10x6 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+                RenderSVGEllipse {circle} at (123,87) size 16x16 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (127,91) size 4x3 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (131,91) size 3x3 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (127,97) size 9x5 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
           RenderSVGContainer {g} at (190,67) size 50x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
-            RenderSVGText {text} at (0,-13) size 26x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 26x11
+            RenderSVGText {text} at (0,-13) size 26x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 26x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.00: "xMid*"
             RenderSVGRect {rect} at (190,80) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
             RenderSVGViewportContainer {svg} at (203,80) size 24x30
               RenderSVGRect {rect} at (203,80) size 24x30 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (207,87) size 16x16 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (207,87) size 16x16 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (211,91) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (215,91) size 3x4 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (210,97) size 10x6 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+                RenderSVGEllipse {circle} at (207,87) size 16x16 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (211,91) size 3x3 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (215,91) size 3x3 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (210,97) size 10x5 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
           RenderSVGContainer {g} at (120,117) size 50x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
-            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x11
+            RenderSVGText {text} at (0,-13) size 27x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "xMax*"
             RenderSVGRect {rect} at (120,130) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
             RenderSVGViewportContainer {svg} at (147,130) size 23x30
               RenderSVGRect {rect} at (147,130) size 23x30 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (151,137) size 16x16 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (151,137) size 16x16 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (155,141) size 3x4 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (158,141) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (154,147) size 10x6 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+                RenderSVGEllipse {circle} at (151,137) size 16x16 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (155,141) size 3x3 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (159,141) size 3x3 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (154,147) size 9x5 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (300,52) size 130x88 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
-          RenderSVGText {text} at (0,-28) size 124x11 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 124x11
+          RenderSVGText {text} at (0,-28) size 124x10 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 124x10
               chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 40 width 124.00: "---------- meet ------------------------"
           RenderSVGContainer {g} at (300,67) size 30x73
-            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x11
+            RenderSVGText {text} at (0,-13) size 27x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "*YMin"
             RenderSVGRect {rect} at (300,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
             RenderSVGViewportContainer {svg} at (300,80) size 30x40
               RenderSVGRect {rect} at (300,80) size 30x40 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (305,90) size 20x20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (305,90) size 20x20 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (310,95) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (315,95) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (305,90) size 20x20 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (310,95) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (315,95) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
                 RenderSVGPath {path} at (309,103) size 12x7 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
           RenderSVGContainer {g} at (350,67) size 30x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
-            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x11
+            RenderSVGText {text} at (0,-13) size 27x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "*YMid"
             RenderSVGRect {rect} at (350,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
             RenderSVGViewportContainer {svg} at (350,90) size 30x40
               RenderSVGRect {rect} at (350,90) size 30x40 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (355,100) size 20x20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (355,100) size 20x20 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (360,105) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (365,105) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (355,100) size 20x20 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (360,105) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (365,105) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
                 RenderSVGPath {path} at (359,113) size 12x7 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
           RenderSVGContainer {g} at (400,67) size 30x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
-            RenderSVGText {text} at (0,-13) size 28x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 28x11
+            RenderSVGText {text} at (0,-13) size 28x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 28x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 28.00: "*YMax"
             RenderSVGRect {rect} at (400,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
             RenderSVGViewportContainer {svg} at (400,100) size 30x40
               RenderSVGRect {rect} at (400,100) size 30x40 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (405,110) size 20x20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (405,110) size 20x20 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (410,115) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (415,115) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (405,110) size 20x20 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (410,115) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (415,115) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
                 RenderSVGPath {path} at (409,123) size 12x7 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (120,187) size 130x88 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,185.00)}]
-          RenderSVGText {text} at (0,-28) size 127x11 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 127x11
+          RenderSVGText {text} at (0,-28) size 127x10 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 127x10
               chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 42 width 127.00: "---------- slice -------------------------"
           RenderSVGContainer {g} at (120,202) size 45x73
-            RenderSVGText {text} at (0,-13) size 26x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 26x11
+            RenderSVGText {text} at (0,-13) size 26x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 26x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.00: "xMin*"
             RenderSVGRect {rect} at (120,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
             RenderSVGViewportContainer {svg} at (120,215) size 45x60
               RenderSVGRect {rect} at (120,215) size 45x60 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (127,230) size 31x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (127,230) size 31x30 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (135,237) size 6x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (142,237) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (133,249) size 19x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+                RenderSVGEllipse {circle} at (127,230) size 31x30 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (135,238) size 6x5 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (143,238) size 5x5 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (134,249) size 17x10 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
           RenderSVGContainer {g} at (162,202) size 46x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
-            RenderSVGText {text} at (0,-13) size 26x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 26x11
+            RenderSVGText {text} at (0,-13) size 26x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 26x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.00: "xMid*"
             RenderSVGRect {rect} at (170,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
             RenderSVGViewportContainer {svg} at (162,215) size 46x60
               RenderSVGRect {rect} at (162,215) size 46x60 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (170,230) size 30x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (170,230) size 30x30 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (177,237) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (185,237) size 6x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (176,249) size 18x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+                RenderSVGEllipse {circle} at (170,230) size 30x30 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (178,238) size 5x5 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (185,238) size 6x5 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (176,249) size 18x10 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
           RenderSVGContainer {g} at (205,202) size 45x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
-            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x11
+            RenderSVGText {text} at (0,-13) size 27x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "xMax*"
             RenderSVGRect {rect} at (220,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
             RenderSVGViewportContainer {svg} at (205,215) size 45x60
               RenderSVGRect {rect} at (205,215) size 45x60 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (212,230) size 31x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (212,230) size 31x30 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (220,237) size 6x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (227,237) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (218,249) size 19x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+                RenderSVGEllipse {circle} at (212,230) size 31x30 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (220,238) size 6x5 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (228,238) size 5x5 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (219,249) size 17x10 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (300,187) size 120x108 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,185.00)}]
-          RenderSVGText {text} at (0,-28) size 115x11 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 115x11
+          RenderSVGText {text} at (0,-28) size 115x10 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 115x10
               chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 38 width 115.00: "---------- slice ---------------------"
           RenderSVGContainer {g} at (300,202) size 50x80
-            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x11
+            RenderSVGText {text} at (0,-13) size 27x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "*YMin"
             RenderSVGRect {rect} at (300,215) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
             RenderSVGViewportContainer {svg} at (300,215) size 50x67
               RenderSVGRect {rect} at (300,215) size 50x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (308,231) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (308,231) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (316,240) size 8x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (325,240) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (315,253) size 20x12 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+                RenderSVGEllipse {circle} at (308,231) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (317,240) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (325,240) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (315,253) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
           RenderSVGContainer {g} at (370,196) size 50x68 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
-            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x11
+            RenderSVGText {text} at (0,-13) size 27x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "*YMid"
             RenderSVGRect {rect} at (370,215) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
             RenderSVGViewportContainer {svg} at (370,196) size 50x68
               RenderSVGRect {rect} at (370,196) size 50x68 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (378,213) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (378,213) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (386,221) size 8x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (395,221) size 7x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (385,235) size 20x12 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-          RenderSVGContainer {g} at (300,228) size 50x68 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
-            RenderSVGText {text} at (0,-13) size 28x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 28x11
+                RenderSVGEllipse {circle} at (378,213) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (387,222) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (395,222) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (385,235) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+          RenderSVGContainer {g} at (300,228) size 50x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
+            RenderSVGText {text} at (0,-13) size 28x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 28x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 28.00: "*YMax"
             RenderSVGRect {rect} at (300,265) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
-            RenderSVGViewportContainer {svg} at (300,228) size 50x68
-              RenderSVGRect {rect} at (300,228) size 50x68 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+            RenderSVGViewportContainer {svg} at (300,228) size 50x67
+              RenderSVGRect {rect} at (300,228) size 50x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (308,245) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (308,245) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (316,253) size 8x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (325,253) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (315,266) size 20x13 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+                RenderSVGEllipse {circle} at (308,245) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (317,254) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (325,254) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (315,267) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
     RenderSVGText {text} at (10,304) size 264x46 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,0) size 264x46
         chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 264.00: "$Revision: 1.6 $"
index 4a9a7c6..4680b3a 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png and b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png differ
index 74041b6..2aec8e2 100644 (file)
@@ -4,106 +4,106 @@ layer at (0,0) size 480x360
   RenderSVGRoot {svg} at (0,0) size 480x360
     RenderSVGContainer {g} at (10,52) size 420x243 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
       RenderSVGContainer {g} at (10,52) size 420x243
-        RenderSVGText {text} at (10,22) size 45x11 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 45x11
+        RenderSVGText {text} at (10,22) size 45x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 45x10
             chunk 1 text run 1 at (10.00,30.00) startOffset 0 endOffset 13 width 45.00: "Raster to fit"
         RenderSVGContainer {g} at (20,70) size 40x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
           RenderSVGImage {image} at (20,70) size 40x40
-        RenderSVGText {text} at (10,102) size 42x11 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 42x11
+        RenderSVGText {text} at (10,102) size 42x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 42x10
             chunk 1 text run 1 at (10.00,110.00) startOffset 0 endOffset 10 width 42.00: "Viewport 1"
         RenderSVGContainer {g} at (10,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
           RenderSVGRect {rect} at (10,150) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
-        RenderSVGText {text} at (10,172) size 42x11 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 42x11
+        RenderSVGText {text} at (10,172) size 42x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 42x10
             chunk 1 text run 1 at (10.00,180.00) startOffset 0 endOffset 10 width 42.00: "Viewport 2"
         RenderSVGContainer {g} at (20,220) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
           RenderSVGRect {rect} at (20,220) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
         RenderSVGContainer {g} at (120,52) size 120x108 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,50.00)}]
-          RenderSVGText {text} at (0,-28) size 112x11 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 112x11
+          RenderSVGText {text} at (0,-28) size 112x10 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 112x10
               chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 36 width 112.00: "---------- meet --------------------"
           RenderSVGContainer {g} at (120,67) size 50x43
-            RenderSVGText {text} at (0,-13) size 26x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 26x11
+            RenderSVGText {text} at (0,-13) size 26x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 26x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.00: "xMin*"
             RenderSVGRect {rect} at (120,80) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
             RenderSVGImage {image} at (120,80) size 50x30
           RenderSVGContainer {g} at (190,67) size 50x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
-            RenderSVGText {text} at (0,-13) size 26x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 26x11
+            RenderSVGText {text} at (0,-13) size 26x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 26x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.00: "xMid*"
             RenderSVGRect {rect} at (190,80) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
             RenderSVGImage {image} at (190,80) size 50x30
           RenderSVGContainer {g} at (120,117) size 50x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
-            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x11
+            RenderSVGText {text} at (0,-13) size 27x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "xMax*"
             RenderSVGRect {rect} at (120,130) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
             RenderSVGImage {image} at (120,130) size 50x30
         RenderSVGContainer {g} at (300,52) size 130x88 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
-          RenderSVGText {text} at (0,-28) size 124x11 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 124x11
+          RenderSVGText {text} at (0,-28) size 124x10 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 124x10
               chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 40 width 124.00: "---------- meet ------------------------"
           RenderSVGContainer {g} at (300,67) size 30x73
-            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x11
+            RenderSVGText {text} at (0,-13) size 27x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "*YMin"
             RenderSVGRect {rect} at (300,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
             RenderSVGImage {image} at (300,80) size 30x60
           RenderSVGContainer {g} at (350,67) size 30x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
-            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x11
+            RenderSVGText {text} at (0,-13) size 27x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "*YMid"
             RenderSVGRect {rect} at (350,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
             RenderSVGImage {image} at (350,80) size 30x60
           RenderSVGContainer {g} at (400,67) size 30x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
-            RenderSVGText {text} at (0,-13) size 28x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 28x11
+            RenderSVGText {text} at (0,-13) size 28x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 28x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 28.00: "*YMax"
             RenderSVGRect {rect} at (400,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
             RenderSVGImage {image} at (400,80) size 30x60
         RenderSVGContainer {g} at (120,187) size 130x88 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,185.00)}]
-          RenderSVGText {text} at (0,-28) size 127x11 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 127x11
+          RenderSVGText {text} at (0,-28) size 127x10 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 127x10
               chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 42 width 127.00: "---------- slice -------------------------"
           RenderSVGContainer {g} at (120,202) size 30x73
-            RenderSVGText {text} at (0,-13) size 26x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 26x11
+            RenderSVGText {text} at (0,-13) size 26x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 26x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.00: "xMin*"
             RenderSVGRect {rect} at (120,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
             RenderSVGImage {image} at (120,215) size 30x60
           RenderSVGContainer {g} at (170,202) size 30x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
-            RenderSVGText {text} at (0,-13) size 26x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 26x11
+            RenderSVGText {text} at (0,-13) size 26x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 26x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.00: "xMid*"
             RenderSVGRect {rect} at (170,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
             RenderSVGImage {image} at (170,215) size 30x60
           RenderSVGContainer {g} at (220,202) size 30x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
-            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x11
+            RenderSVGText {text} at (0,-13) size 27x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "xMax*"
             RenderSVGRect {rect} at (220,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
             RenderSVGImage {image} at (220,215) size 30x60
         RenderSVGContainer {g} at (300,187) size 120x108 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,185.00)}]
-          RenderSVGText {text} at (0,-28) size 115x11 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 115x11
+          RenderSVGText {text} at (0,-28) size 115x10 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 115x10
               chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 38 width 115.00: "---------- slice ---------------------"
           RenderSVGContainer {g} at (300,202) size 50x43
-            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x11
+            RenderSVGText {text} at (0,-13) size 27x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "*YMin"
             RenderSVGRect {rect} at (300,215) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
             RenderSVGImage {image} at (300,215) size 50x30
           RenderSVGContainer {g} at (370,202) size 50x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
-            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x11
+            RenderSVGText {text} at (0,-13) size 27x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "*YMid"
             RenderSVGRect {rect} at (370,215) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
             RenderSVGImage {image} at (370,215) size 50x30
           RenderSVGContainer {g} at (300,252) size 50x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
-            RenderSVGText {text} at (0,-13) size 28x11 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 28x11
+            RenderSVGText {text} at (0,-13) size 28x10 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 28x10
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 28.00: "*YMax"
             RenderSVGRect {rect} at (300,265) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
             RenderSVGImage {image} at (300,265) size 50x30
index afc96ad..fc96f90 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.png and b/LayoutTests/platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.png differ
index 90e986b..d6d1057 100644 (file)
@@ -7,62 +7,54 @@ layer at (0,0) size 800x600
         RenderSVGText {text} at (0,22) size 458x11 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 458x11
             chunk 1 text run 1 at (0.00,30.00) startOffset 0 endOffset 120 width 457.80: "All svgs below should look the same, since all have preserveAspectRatio with syntax errors and default should be chosen."
-        RenderSVGContainer {g} at (0,83) size 50x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
-          RenderSVGViewportContainer {svg} at (0,83) size 50x101
-            RenderSVGRect {rect} at (0,83) size 50x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-            RenderSVGContainer {g} at (8,108) size 34x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (8,108) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (16,120) size 8x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (25,120) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (15,140) size 20x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-        RenderSVGContainer {g} at (83,83) size 51x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,50.00)}]
-          RenderSVGViewportContainer {svg} at (83,83) size 51x101
-            RenderSVGRect {rect} at (83,83) size 51x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-            RenderSVGContainer {g} at (91,108) size 34x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (91,108) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (100,120) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (108,120) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (98,140) size 21x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-        RenderSVGContainer {g} at (166,83) size 51x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,50.00)}]
-          RenderSVGViewportContainer {svg} at (166,83) size 51x101
-            RenderSVGRect {rect} at (166,83) size 51x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-            RenderSVGContainer {g} at (175,108) size 34x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (175,108) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (183,120) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (191,120) size 8x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (181,140) size 21x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-        RenderSVGContainer {g} at (250,83) size 50x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,50.00)}]
-          RenderSVGViewportContainer {svg} at (250,83) size 50x101
-            RenderSVGRect {rect} at (250,83) size 50x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-            RenderSVGContainer {g} at (258,108) size 34x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (258,108) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (266,120) size 8x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (275,120) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (265,140) size 20x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-        RenderSVGContainer {g} at (333,83) size 51x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,50.00)}]
-          RenderSVGViewportContainer {svg} at (333,83) size 51x101
-            RenderSVGRect {rect} at (333,83) size 51x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-            RenderSVGContainer {g} at (341,108) size 34x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (341,108) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (350,120) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (358,120) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (348,140) size 21x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-        RenderSVGContainer {g} at (416,83) size 51x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,50.00)}]
-          RenderSVGViewportContainer {svg} at (416,83) size 51x101
-            RenderSVGRect {rect} at (416,83) size 51x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-            RenderSVGContainer {g} at (425,108) size 34x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (425,108) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (433,120) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (441,120) size 8x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (431,140) size 21x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-        RenderSVGContainer {g} at (500,83) size 50x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
-          RenderSVGViewportContainer {svg} at (500,83) size 50x101
-            RenderSVGRect {rect} at (500,83) size 50x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-            RenderSVGContainer {g} at (508,108) size 34x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (508,108) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (516,120) size 8x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (525,120) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (515,140) size 20x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+        RenderSVGContainer {g} at (0,100) size 50x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
+          RenderSVGViewportContainer {svg} at (0,100) size 50x67
+            RenderSVGRect {rect} at (0,100) size 50x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+            RenderSVGContainer {g} at (8,116) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+              RenderSVGEllipse {circle} at (8,116) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (17,125) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (25,125) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (15,138) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+        RenderSVGContainer {g} at (83,100) size 51x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,50.00)}]
+          RenderSVGViewportContainer {svg} at (83,100) size 51x67
+            RenderSVGRect {rect} at (83,100) size 51x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+            RenderSVGContainer {g} at (91,116) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+              RenderSVGEllipse {circle} at (91,116) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (100,125) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (109,125) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (98,138) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+        RenderSVGContainer {g} at (166,100) size 51x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,50.00)}]
+          RenderSVGViewportContainer {svg} at (166,100) size 51x67
+            RenderSVGRect {rect} at (166,100) size 51x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+            RenderSVGContainer {g} at (175,116) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+              RenderSVGEllipse {circle} at (175,116) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (184,125) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (192,125) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (182,138) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+        RenderSVGContainer {g} at (250,100) size 50x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,50.00)}]
+          RenderSVGViewportContainer {svg} at (250,100) size 50x67
+            RenderSVGRect {rect} at (250,100) size 50x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+            RenderSVGContainer {g} at (258,116) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+              RenderSVGEllipse {circle} at (258,116) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (267,125) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (275,125) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (265,138) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+        RenderSVGContainer {g} at (333,100) size 51x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,50.00)}]
+          RenderSVGViewportContainer {svg} at (333,100) size 51x67
+            RenderSVGRect {rect} at (333,100) size 51x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+            RenderSVGContainer {g} at (341,116) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+              RenderSVGEllipse {circle} at (341,116) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (350,125) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (359,125) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (348,138) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+        RenderSVGContainer {g} at (416,100) size 51x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,50.00)}]
+          RenderSVGViewportContainer {svg} at (416,100) size 51x67
+            RenderSVGRect {rect} at (416,100) size 51x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+            RenderSVGContainer {g} at (425,116) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+              RenderSVGEllipse {circle} at (425,116) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (434,125) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (442,125) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (432,138) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGText {text} at (0,182) size 276x11 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 276x11
             chunk 1 text run 1 at (0.00,190.00) startOffset 0 endOffset 72 width 275.40: "All svgs below should look the same, all have valid preserveAspectRatio."
@@ -70,31 +62,31 @@ layer at (0,0) size 800x600
           RenderSVGViewportContainer {svg} at (0,350) size 50x67
             RenderSVGRect {rect} at (0,350) size 50x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (8,366) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (8,366) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (16,375) size 8x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (25,375) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (15,388) size 20x12 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (8,366) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (17,375) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (25,375) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (15,388) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (83,350) size 51x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,200.00)}]
           RenderSVGViewportContainer {svg} at (83,350) size 51x67
             RenderSVGRect {rect} at (83,350) size 51x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (91,366) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (91,366) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (100,375) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (108,375) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (98,388) size 21x12 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (91,366) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (100,375) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (109,375) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (98,388) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (166,350) size 51x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,200.00)}]
           RenderSVGViewportContainer {svg} at (166,350) size 51x67
             RenderSVGRect {rect} at (166,350) size 51x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (175,366) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (175,366) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (183,375) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (191,375) size 8x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (181,388) size 21x12 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (175,366) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (184,375) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (192,375) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (182,388) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (250,350) size 50x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,200.00)}]
           RenderSVGViewportContainer {svg} at (250,350) size 50x67
             RenderSVGRect {rect} at (250,350) size 50x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (258,366) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (258,366) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (266,375) size 8x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (275,375) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (265,388) size 20x12 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (258,366) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (267,375) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (275,375) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (265,388) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
index 58e40fb..d83e1a9 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/custom/viewbox-syntax-expected.png and b/LayoutTests/platform/mac/svg/custom/viewbox-syntax-expected.png differ
index 4b184c7..626cd6a 100644 (file)
@@ -11,9 +11,9 @@ CONSOLE MESSAGE: line 47: Warning: Problem parsing viewBox="0 0 30% 40"
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (0,36) size 800x401
-    RenderSVGContainer {g} at (0,36) size 800x401
-      RenderSVGContainer {g} at (0,36) size 800x401
+  RenderSVGRoot {svg} at (0,36) size 800x400
+    RenderSVGContainer {g} at (0,36) size 800x400
+      RenderSVGContainer {g} at (0,36) size 800x400
         RenderSVGText {text} at (0,22) size 414x11 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 414x11
             chunk 1 text run 1 at (0.00,30.00) startOffset 0 endOffset 108 width 414.00: "All svgs below should look the same, since all have viewBox with syntax errors and default should be chosen."
@@ -21,82 +21,82 @@ layer at (0,0) size 800x600
           RenderSVGViewportContainer {svg} at (0,83) size 50x67
             RenderSVGRect {rect} at (0,83) size 50x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (8,100) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (8,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (16,108) size 8x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (25,108) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (15,121) size 20x13 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (8,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (17,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (25,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (15,122) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (83,83) size 51x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,50.00)}]
           RenderSVGViewportContainer {svg} at (83,83) size 51x67
             RenderSVGRect {rect} at (83,83) size 51x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (91,100) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (91,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (100,108) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (108,108) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (98,121) size 21x13 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (91,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (100,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (109,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (98,122) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (166,83) size 51x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,50.00)}]
           RenderSVGViewportContainer {svg} at (166,83) size 51x67
             RenderSVGRect {rect} at (166,83) size 51x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (175,100) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (175,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (183,108) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (191,108) size 8x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (181,121) size 21x13 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (175,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (184,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (192,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (182,122) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (250,83) size 50x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,50.00)}]
           RenderSVGViewportContainer {svg} at (250,83) size 50x67
             RenderSVGRect {rect} at (250,83) size 50x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (258,100) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (258,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (266,108) size 8x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (275,108) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (265,121) size 20x13 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (258,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (267,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (275,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (265,122) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (333,83) size 51x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,50.00)}]
           RenderSVGViewportContainer {svg} at (333,83) size 51x67
             RenderSVGRect {rect} at (333,83) size 51x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (341,100) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (341,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (350,108) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (358,108) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (348,121) size 21x13 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (341,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (350,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (359,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (348,122) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (416,83) size 51x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,50.00)}]
           RenderSVGViewportContainer {svg} at (416,83) size 51x67
             RenderSVGRect {rect} at (416,83) size 51x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (425,100) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (425,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (433,108) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (441,108) size 8x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (431,121) size 21x13 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (425,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (434,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (442,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (432,122) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (500,83) size 50x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
           RenderSVGViewportContainer {svg} at (500,83) size 50x67
             RenderSVGRect {rect} at (500,83) size 50x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (508,100) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (508,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (516,108) size 8x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (525,108) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (515,121) size 20x13 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (508,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (517,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (525,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (515,122) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (583,83) size 51x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(350.00,50.00)}]
           RenderSVGViewportContainer {svg} at (583,83) size 51x67
             RenderSVGRect {rect} at (583,83) size 51x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (591,100) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (591,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (600,108) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (608,108) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (598,121) size 21x13 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (591,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (600,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (609,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (598,122) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (666,83) size 51x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(400.00,50.00)}]
           RenderSVGViewportContainer {svg} at (666,83) size 51x67
             RenderSVGRect {rect} at (666,83) size 51x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (675,100) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (675,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (683,108) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (691,108) size 8x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (681,121) size 21x13 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (675,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (684,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (692,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (682,122) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (750,83) size 50x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(450.00,50.00)}]
           RenderSVGViewportContainer {svg} at (750,83) size 50x67
             RenderSVGRect {rect} at (750,83) size 50x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (758,100) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (758,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (766,108) size 8x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (775,108) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (765,121) size 20x13 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (758,100) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (767,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (775,109) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (765,122) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGText {text} at (0,182) size 240x11 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 240x11
             chunk 1 text run 1 at (0.00,190.00) startOffset 0 endOffset 62 width 239.40: "All svgs below should look the same, all have valid viewBoxes."
@@ -104,63 +104,63 @@ layer at (0,0) size 800x600
           RenderSVGViewportContainer {svg} at (0,333) size 50x101
             RenderSVGRect {rect} at (0,333) size 50x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (8,358) size 34x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (8,358) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (16,370) size 8x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (25,370) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (15,390) size 20x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (8,358) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (17,372) size 6x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (25,372) size 6x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (15,391) size 20x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (83,333) size 51x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,200.00)}]
           RenderSVGViewportContainer {svg} at (83,333) size 51x101
             RenderSVGRect {rect} at (83,333) size 51x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (91,358) size 34x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (91,358) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (100,370) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (108,370) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (98,390) size 21x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (91,358) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (100,372) size 6x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (109,372) size 6x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (98,391) size 20x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (166,333) size 51x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,200.00)}]
           RenderSVGViewportContainer {svg} at (166,333) size 51x101
             RenderSVGRect {rect} at (166,333) size 51x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (175,358) size 34x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (175,358) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (183,370) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (191,370) size 8x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (181,390) size 21x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (175,358) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (184,372) size 6x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (192,372) size 6x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (182,391) size 20x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (250,333) size 50x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,200.00)}]
           RenderSVGViewportContainer {svg} at (250,333) size 50x101
             RenderSVGRect {rect} at (250,333) size 50x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (258,358) size 34x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (258,358) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (266,370) size 8x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (275,370) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (265,390) size 20x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-        RenderSVGContainer {g} at (333,335) size 51x102 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,200.00)}]
-          RenderSVGViewportContainer {svg} at (333,335) size 51x102
-            RenderSVGRect {rect} at (333,335) size 51x102 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-            RenderSVGContainer {g} at (341,360) size 34x52 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (341,360) size 34x52 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (350,373) size 7x11 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (358,373) size 7x11 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (348,393) size 21x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (258,358) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (267,372) size 6x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (275,372) size 6x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (265,391) size 20x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+        RenderSVGContainer {g} at (333,335) size 51x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,200.00)}]
+          RenderSVGViewportContainer {svg} at (333,335) size 51x101
+            RenderSVGRect {rect} at (333,335) size 51x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+            RenderSVGContainer {g} at (341,360) size 34x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+              RenderSVGEllipse {circle} at (341,360) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (350,374) size 6x9 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (359,374) size 6x9 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (348,393) size 20x17 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (416,333) size 51x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,200.00)}]
           RenderSVGViewportContainer {svg} at (416,333) size 51x101
             RenderSVGRect {rect} at (416,333) size 51x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (425,358) size 34x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (425,358) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (433,370) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (441,370) size 8x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (431,390) size 21x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (425,358) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (434,372) size 6x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (442,372) size 6x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (432,391) size 20x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (500,333) size 50x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,200.00)}]
           RenderSVGViewportContainer {svg} at (500,333) size 50x101
             RenderSVGRect {rect} at (500,333) size 50x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (508,358) size 34x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (508,358) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (516,370) size 8x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (525,370) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (515,390) size 20x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (508,358) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (517,372) size 6x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (525,372) size 6x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (515,391) size 20x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (583,333) size 51x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(350.00,200.00)}]
           RenderSVGViewportContainer {svg} at (583,333) size 51x101
             RenderSVGRect {rect} at (583,333) size 51x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
             RenderSVGContainer {g} at (591,358) size 34x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-              RenderSVGPath {circle} at (591,358) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-              RenderSVGPath {circle} at (600,370) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {circle} at (608,370) size 7x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-              RenderSVGPath {path} at (598,390) size 21x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGEllipse {circle} at (591,358) size 34x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+              RenderSVGEllipse {circle} at (600,372) size 6x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+              RenderSVGEllipse {circle} at (609,372) size 6x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+              RenderSVGPath {path} at (598,391) size 20x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
index cfc1fd9..e660e8d 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.png and b/LayoutTests/platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.png differ
index 3ccec2e..3694a11 100644 (file)
-layer at (0,0) size 1130x842
-  RenderView at (0,0) size 785x585
-layer at (0,0) size 1130x842
-  RenderSVGRoot {svg} at (3,0) size 1124x842
-    RenderSVGContainer {g} at (27,119) size 983x571 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
-      RenderSVGContainer {g} at (27,119) size 983x571
-        RenderSVGText {text} at (10,21) size 38x12 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 38x12
-            chunk 1 text run 1 at (10.00,30.00) startOffset 0 endOffset 10 width 37.62: "SVG to fit"
-        RenderSVGContainer {g} at (50,163) size 71x95 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
-          RenderSVGRect {rect} at (50,163) size 71x95 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-          RenderSVGContainer {g} at (62,187) size 47x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-            RenderSVGPath {circle} at (62,187) size 47x47 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-            RenderSVGPath {circle} at (73,198) size 11x11 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-            RenderSVGPath {circle} at (85,198) size 10x11 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-            RenderSVGPath {path} at (71,217) size 29x17 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-        RenderSVGText {text} at (10,101) size 42x12 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 42x12
-            chunk 1 text run 1 at (10.00,110.00) startOffset 0 endOffset 10 width 41.05: "Viewport 1"
-        RenderSVGContainer {g} at (27,350) size 117x72 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
-          RenderSVGRect {rect} at (27,350) size 117x72 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
-        RenderSVGText {text} at (10,171) size 42x12 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 42x12
-            chunk 1 text run 1 at (10.00,180.00) startOffset 0 endOffset 10 width 41.05: "Viewport 2"
-        RenderSVGContainer {g} at (50,514) size 71x141 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
-          RenderSVGRect {rect} at (50,514) size 71x141 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
-        RenderSVGContainer {g} at (284,119) size 281x256 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,50.00)}]
-          RenderSVGText {text} at (0,-29) size 112x12 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 112x12
-              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 36 width 111.16: "---------- meet --------------------"
-          RenderSVGContainer {g} at (284,154) size 118x104
-            RenderSVGText {text} at (0,-14) size 25x12 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 25x12
-                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.80: "xMin*"
-            RenderSVGRect {rect} at (284,187) size 118x71 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
-            RenderSVGViewportContainer {svg} at (284,187) size 55x71
-              RenderSVGRect {rect} at (284,187) size 55x71 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (291,203) size 38x38 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (291,203) size 38x38 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (300,212) size 11x11 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (310,212) size 10x11 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (298,226) size 24x15 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-          RenderSVGContainer {g} at (448,154) size 117x104 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
-            RenderSVGText {text} at (0,-14) size 25x12 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 25x12
-                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.80: "xMid*"
-            RenderSVGRect {rect} at (448,187) size 117x71 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
-            RenderSVGViewportContainer {svg} at (478,187) size 57x71
-              RenderSVGRect {rect} at (478,187) size 57x71 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (487,203) size 39x38 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (487,203) size 39x38 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (497,212) size 10x11 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (506,212) size 8x11 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (494,226) size 25x15 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-          RenderSVGContainer {g} at (284,271) size 118x104 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
-            RenderSVGText {text} at (0,-14) size 27x12 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x12
-                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.08: "xMax*"
-            RenderSVGRect {rect} at (284,304) size 118x71 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
-            RenderSVGViewportContainer {svg} at (347,304) size 55x71
-              RenderSVGRect {rect} at (347,304) size 55x71 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (356,320) size 39x38 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (356,320) size 39x38 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (366,329) size 8x11 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (373,329) size 10x11 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (363,343) size 25x15 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-        RenderSVGContainer {g} at (705,119) size 305x209 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
-          RenderSVGText {text} at (0,-29) size 124x12 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 124x12
-              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 40 width 123.14: "---------- meet ------------------------"
-          RenderSVGContainer {g} at (705,154) size 71x174
-            RenderSVGText {text} at (0,-14) size 27x12 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x12
-                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.51: "*YMin"
-            RenderSVGRect {rect} at (705,187) size 71x141 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
-            RenderSVGViewportContainer {svg} at (705,187) size 71x94
-              RenderSVGRect {rect} at (705,187) size 71x94 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (717,210) size 47x48 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (717,210) size 47x48 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (728,222) size 11x10 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (740,222) size 10x10 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (726,240) size 29x18 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-          RenderSVGContainer {g} at (822,154) size 71x174 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
-            RenderSVGText {text} at (0,-14) size 27x12 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x12
-                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.51: "*YMid"
-            RenderSVGRect {rect} at (822,187) size 71x141 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
-            RenderSVGViewportContainer {svg} at (822,210) size 71x95
-              RenderSVGRect {rect} at (822,210) size 71x95 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (833,233) size 48x48 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (833,233) size 48x48 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (845,245) size 11x10 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (857,245) size 10x10 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (843,264) size 29x17 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-          RenderSVGContainer {g} at (939,154) size 71x174 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
-            RenderSVGText {text} at (0,-14) size 28x12 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 28x12
-                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.79: "*YMax"
-            RenderSVGRect {rect} at (939,187) size 71x141 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
-            RenderSVGViewportContainer {svg} at (939,233) size 71x95
-              RenderSVGRect {rect} at (939,233) size 71x95 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (950,257) size 48x48 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (950,257) size 48x48 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (962,268) size 10x11 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (974,268) size 10x11 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (960,287) size 29x18 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-        RenderSVGContainer {g} at (284,435) size 305x209 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,185.00)}]
-          RenderSVGText {text} at (0,-29) size 126x12 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 126x12
-              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 42 width 125.27: "---------- slice -------------------------"
-          RenderSVGContainer {g} at (284,470) size 106x174
-            RenderSVGText {text} at (0,-14) size 25x12 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 25x12
-                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.80: "xMin*"
-            RenderSVGRect {rect} at (284,502) size 71x142 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
-            RenderSVGViewportContainer {svg} at (284,502) size 106x142
-              RenderSVGRect {rect} at (284,502) size 106x142 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (300,537) size 74x72 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (300,537) size 74x72 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (319,554) size 15x17 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (335,554) size 18x17 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (314,582) size 46x27 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-          RenderSVGContainer {g} at (382,470) size 109x174 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
-            RenderSVGText {text} at (0,-14) size 25x12 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 25x12
-                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.80: "xMid*"
-            RenderSVGRect {rect} at (401,502) size 71x142 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
-            RenderSVGViewportContainer {svg} at (382,502) size 109x142
-              RenderSVGRect {rect} at (382,502) size 109x142 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (401,537) size 71x72 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (401,537) size 71x72 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (417,554) size 18x17 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (436,554) size 15x17 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (415,582) size 43x27 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-          RenderSVGContainer {g} at (483,470) size 106x174 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
-            RenderSVGText {text} at (0,-14) size 27x12 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x12
-                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.08: "xMax*"
-            RenderSVGRect {rect} at (518,502) size 71x142 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
-            RenderSVGViewportContainer {svg} at (483,502) size 106x142
-              RenderSVGRect {rect} at (483,502) size 106x142 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (499,537) size 74x72 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (499,537) size 74x72 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (518,554) size 15x17 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (534,554) size 17x17 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (513,582) size 45x27 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-        RenderSVGContainer {g} at (705,435) size 281x255 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,185.00)}]
-          RenderSVGText {text} at (0,-29) size 114x12 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 114x12
-              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 38 width 113.30: "---------- slice ---------------------"
-          RenderSVGContainer {g} at (705,470) size 118x190
-            RenderSVGText {text} at (0,-14) size 27x12 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x12
-                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.51: "*YMin"
-            RenderSVGRect {rect} at (705,502) size 118x72 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
-            RenderSVGViewportContainer {svg} at (705,502) size 118x158
-              RenderSVGRect {rect} at (705,502) size 118x158 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (724,540) size 80x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (724,540) size 80x80 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (742,561) size 20x17 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (763,561) size 18x17 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (740,591) size 48x29 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-          RenderSVGContainer {g} at (869,458) size 117x160 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
-            RenderSVGText {text} at (0,-14) size 27x12 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 27x12
-                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.51: "*YMid"
-            RenderSVGRect {rect} at (869,502) size 117x72 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
-            RenderSVGViewportContainer {svg} at (869,458) size 117x160
-              RenderSVGRect {rect} at (869,458) size 117x160 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (887,498) size 81x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (887,498) size 81x80 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (906,516) size 20x20 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (927,516) size 17x20 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (904,549) size 47x29 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-          RenderSVGContainer {g} at (705,533) size 118x160 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
-            RenderSVGText {text} at (0,-14) size 28x12 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 28x12
-                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.79: "*YMax"
-            RenderSVGRect {rect} at (705,619) size 118x71 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
-            RenderSVGViewportContainer {svg} at (705,533) size 118x160
-              RenderSVGRect {rect} at (705,533) size 118x160 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (724,573) size 80x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (724,573) size 80x80 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (742,591) size 20x18 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (763,591) size 18x18 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (740,622) size 48x31 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-    RenderSVGText {text} at (10,303) size 266x48 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 266x48
-        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 265.51: "$Revision: 1.6 $"
-    RenderSVGRect {rect} at (3,0) size 1124x842 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.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
+    RenderSVGContainer {g} at (16,86) size 701x406 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
+      RenderSVGContainer {g} at (16,86) size 701x406
+        RenderSVGText {text} at (10,22) size 38x11 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 38x11
+            chunk 1 text run 1 at (10.00,30.00) startOffset 0 endOffset 10 width 37.80: "SVG to fit"
+        RenderSVGContainer {g} at (33,116) size 51x68 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
+          RenderSVGRect {rect} at (33,116) size 51x68 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+          RenderSVGContainer {g} at (41,133) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+            RenderSVGEllipse {circle} at (41,133) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+            RenderSVGEllipse {circle} at (50,142) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+            RenderSVGEllipse {circle} at (59,142) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+            RenderSVGPath {path} at (48,155) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+        RenderSVGText {text} at (10,102) size 42x11 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 42x11
+            chunk 1 text run 1 at (10.00,110.00) startOffset 0 endOffset 10 width 42.00: "Viewport 1"
+        RenderSVGContainer {g} at (16,250) size 84x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
+          RenderSVGRect {rect} at (16,250) size 84x50 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
+        RenderSVGText {text} at (10,172) size 42x11 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 42x11
+            chunk 1 text run 1 at (10.00,180.00) startOffset 0 endOffset 10 width 42.00: "Viewport 2"
+        RenderSVGContainer {g} at (33,366) size 51x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
+          RenderSVGRect {rect} at (33,366) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
+        RenderSVGContainer {g} at (200,86) size 200x181 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,50.00)}]
+          RenderSVGText {text} at (0,-28) size 113x11 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 113x11
+              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 36 width 112.80: "---------- meet --------------------"
+          RenderSVGContainer {g} at (200,111) size 84x73
+            RenderSVGText {text} at (0,-13) size 25x11 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 25x11
+                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.60: "xMin*"
+            RenderSVGRect {rect} at (200,133) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
+            RenderSVGViewportContainer {svg} at (200,133) size 38x51
+              RenderSVGRect {rect} at (200,133) size 38x51 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+              RenderSVGContainer {g} at (206,145) size 26x26 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (206,145) size 26x26 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (213,152) size 4x5 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (219,152) size 5x5 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (211,162) size 15x8 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+          RenderSVGContainer {g} at (316,111) size 84x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
+            RenderSVGText {text} at (0,-13) size 25x11 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 25x11
+                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.60: "xMid*"
+            RenderSVGRect {rect} at (316,133) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
+            RenderSVGViewportContainer {svg} at (339,133) size 39x51
+              RenderSVGRect {rect} at (339,133) size 39x51 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+              RenderSVGContainer {g} at (345,145) size 26x26 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (345,145) size 26x26 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (352,152) size 5x5 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (358,152) size 5x5 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (351,162) size 15x8 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+          RenderSVGContainer {g} at (200,195) size 84x72 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
+            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x11
+                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.40: "xMax*"
+            RenderSVGRect {rect} at (200,216) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
+            RenderSVGViewportContainer {svg} at (245,216) size 39x51
+              RenderSVGRect {rect} at (245,216) size 39x51 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+              RenderSVGContainer {g} at (252,229) size 26x26 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (252,229) size 26x26 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (258,236) size 5x4 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (265,236) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (257,245) size 15x9 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+        RenderSVGContainer {g} at (500,86) size 217x148 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
+          RenderSVGText {text} at (0,-28) size 125x11 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 125x11
+              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 40 width 124.80: "---------- meet ------------------------"
+          RenderSVGContainer {g} at (500,111) size 50x123
+            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x11
+                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.40: "*YMin"
+            RenderSVGRect {rect} at (500,133) size 50x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
+            RenderSVGViewportContainer {svg} at (500,133) size 50x67
+              RenderSVGRect {rect} at (500,133) size 50x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+              RenderSVGContainer {g} at (508,150) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (508,150) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (517,159) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (525,159) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (515,172) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+          RenderSVGContainer {g} at (583,111) size 51x123 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
+            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x11
+                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.40: "*YMid"
+            RenderSVGRect {rect} at (583,133) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
+            RenderSVGViewportContainer {svg} at (583,150) size 51x67
+              RenderSVGRect {rect} at (583,150) size 51x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+              RenderSVGContainer {g} at (591,166) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (591,166) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (600,175) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (609,175) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (598,188) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+          RenderSVGContainer {g} at (666,111) size 51x123 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
+            RenderSVGText {text} at (0,-13) size 29x11 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 29x11
+                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 28.20: "*YMax"
+            RenderSVGRect {rect} at (666,133) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
+            RenderSVGViewportContainer {svg} at (666,166) size 51x68
+              RenderSVGRect {rect} at (666,166) size 51x68 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+              RenderSVGContainer {g} at (675,183) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (675,183) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (684,192) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (692,192) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (682,205) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+        RenderSVGContainer {g} at (200,311) size 217x148 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,185.00)}]
+          RenderSVGText {text} at (0,-28) size 127x11 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 127x11
+              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 42 width 126.60: "---------- slice -------------------------"
+          RenderSVGContainer {g} at (200,336) size 75x123
+            RenderSVGText {text} at (0,-13) size 25x11 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 25x11
+                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.60: "xMin*"
+            RenderSVGRect {rect} at (200,358) size 50x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
+            RenderSVGViewportContainer {svg} at (200,358) size 75x101
+              RenderSVGRect {rect} at (200,358) size 75x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+              RenderSVGContainer {g} at (212,383) size 51x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (212,383) size 51x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (226,397) size 8x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (238,397) size 9x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (223,416) size 29x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+          RenderSVGContainer {g} at (270,336) size 76x123 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
+            RenderSVGText {text} at (0,-13) size 25x11 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 25x11
+                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.60: "xMid*"
+            RenderSVGRect {rect} at (283,358) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
+            RenderSVGViewportContainer {svg} at (270,358) size 76x101
+              RenderSVGRect {rect} at (270,358) size 76x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+              RenderSVGContainer {g} at (283,383) size 51x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (283,383) size 51x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (297,397) size 8x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (309,397) size 9x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (294,416) size 29x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+          RenderSVGContainer {g} at (341,336) size 76x123 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
+            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x11
+                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.40: "xMax*"
+            RenderSVGRect {rect} at (366,358) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
+            RenderSVGViewportContainer {svg} at (341,358) size 76x101
+              RenderSVGRect {rect} at (341,358) size 76x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+              RenderSVGContainer {g} at (354,383) size 51x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (354,383) size 51x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (367,397) size 9x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (380,397) size 8x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (365,416) size 29x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+        RenderSVGContainer {g} at (500,311) size 200x181 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,185.00)}]
+          RenderSVGText {text} at (0,-28) size 115x11 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 115x11
+              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 38 width 114.60: "---------- slice ---------------------"
+          RenderSVGContainer {g} at (500,336) size 84x134
+            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x11
+                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.40: "*YMin"
+            RenderSVGRect {rect} at (500,358) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
+            RenderSVGViewportContainer {svg} at (500,358) size 84x112
+              RenderSVGRect {rect} at (500,358) size 84x112 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+              RenderSVGContainer {g} at (513,386) size 57x56 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (513,386) size 57x56 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (529,401) size 9x9 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (543,401) size 9x9 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (526,422) size 32x18 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+          RenderSVGContainer {g} at (616,327) size 84x112 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
+            RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 27x11
+                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.40: "*YMid"
+            RenderSVGRect {rect} at (616,358) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
+            RenderSVGViewportContainer {svg} at (616,327) size 84x112
+              RenderSVGRect {rect} at (616,327) size 84x112 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+              RenderSVGContainer {g} at (630,355) size 57x57 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (630,355) size 57x57 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (645,370) size 10x10 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (659,370) size 10x10 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (642,392) size 32x18 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+          RenderSVGContainer {g} at (500,380) size 84x112 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
+            RenderSVGText {text} at (0,-13) size 29x11 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 29x11
+                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 28.20: "*YMax"
+            RenderSVGRect {rect} at (500,441) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
+            RenderSVGViewportContainer {svg} at (500,380) size 84x112
+              RenderSVGRect {rect} at (500,380) size 84x112 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+              RenderSVGContainer {g} at (513,408) size 57x56 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (513,408) size 57x56 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (529,423) size 9x9 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (543,423) size 9x9 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (526,445) size 32x17 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+    RenderSVGText {text} at (10,303) size 269x47 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 269x47
+        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 268.20: "$Revision: 1.6 $"
+    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
index 4a3636a..235e73f 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png and b/LayoutTests/platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png differ
index ad4f474..4f46464 100644 (file)
@@ -10,17 +10,17 @@ layer at (0,0) size 800x600
         RenderSVGContainer {g} at (33,116) size 51x68 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
           RenderSVGRect {rect} at (33,116) size 51x68 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
           RenderSVGContainer {g} at (41,133) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-            RenderSVGPath {circle} at (41,133) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-            RenderSVGPath {circle} at (50,141) size 7x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-            RenderSVGPath {circle} at (58,141) size 7x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-            RenderSVGPath {path} at (48,155) size 21x12 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-        RenderSVGText {text} at (10,102) size 42x11 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 42x11
+            RenderSVGEllipse {circle} at (41,133) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+            RenderSVGEllipse {circle} at (50,142) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+            RenderSVGEllipse {circle} at (59,142) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+            RenderSVGPath {path} at (48,155) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+        RenderSVGText {text} at (10,102) size 43x11 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 43x11
             chunk 1 text run 1 at (10.00,110.00) startOffset 0 endOffset 10 width 42.00: "Viewport 1"
         RenderSVGContainer {g} at (16,250) size 84x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
           RenderSVGRect {rect} at (16,250) size 84x50 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
-        RenderSVGText {text} at (10,172) size 42x11 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 42x11
+        RenderSVGText {text} at (10,172) size 43x11 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 43x11
             chunk 1 text run 1 at (10.00,180.00) startOffset 0 endOffset 10 width 42.00: "Viewport 2"
         RenderSVGContainer {g} at (33,366) size 51x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
           RenderSVGRect {rect} at (33,366) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
@@ -33,25 +33,25 @@ layer at (0,0) size 800x600
               RenderSVGInlineText {#text} at (0,0) size 25x11
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.60: "xMin*"
             RenderSVGRect {rect} at (200,133) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
-            RenderSVGViewportContainer {svg} at (200,133) size 39x51
-              RenderSVGRect {rect} at (200,133) size 39x51 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (205,145) size 27x27 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (205,145) size 27x27 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (211,151) size 8x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (218,151) size 7x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (210,161) size 17x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+            RenderSVGViewportContainer {svg} at (200,133) size 38x51
+              RenderSVGRect {rect} at (200,133) size 38x51 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+              RenderSVGContainer {g} at (206,145) size 26x26 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (206,145) size 26x26 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (213,152) size 4x5 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (219,152) size 5x5 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (211,162) size 15x8 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
           RenderSVGContainer {g} at (316,111) size 84x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
             RenderSVGText {text} at (0,-13) size 25x11 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 25x11
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.60: "xMid*"
             RenderSVGRect {rect} at (316,133) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
-            RenderSVGViewportContainer {svg} at (338,133) size 41x51
-              RenderSVGRect {rect} at (338,133) size 41x51 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (345,145) size 27x27 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (345,145) size 27x27 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (351,151) size 8x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (358,151) size 6x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (350,161) size 17x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+            RenderSVGViewportContainer {svg} at (339,133) size 39x51
+              RenderSVGRect {rect} at (339,133) size 39x51 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+              RenderSVGContainer {g} at (345,145) size 26x26 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (345,145) size 26x26 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (352,152) size 5x5 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (358,152) size 5x5 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (351,162) size 15x8 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
           RenderSVGContainer {g} at (200,195) size 84x72 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
             RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 27x11
@@ -59,11 +59,11 @@ layer at (0,0) size 800x600
             RenderSVGRect {rect} at (200,216) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
             RenderSVGViewportContainer {svg} at (245,216) size 39x51
               RenderSVGRect {rect} at (245,216) size 39x51 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (251,228) size 28x27 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (251,228) size 28x27 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (258,235) size 6x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (263,235) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (256,245) size 18x10 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGContainer {g} at (252,229) size 26x26 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (252,229) size 26x26 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (258,236) size 5x4 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (265,236) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (257,245) size 15x9 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (500,86) size 217x148 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
           RenderSVGText {text} at (0,-28) size 125x11 contains 1 chunk(s)
             RenderSVGInlineText {#text} at (0,0) size 125x11
@@ -76,10 +76,10 @@ layer at (0,0) size 800x600
             RenderSVGViewportContainer {svg} at (500,133) size 50x67
               RenderSVGRect {rect} at (500,133) size 50x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (508,150) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (508,150) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (516,158) size 8x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (525,158) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (515,171) size 20x13 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+                RenderSVGEllipse {circle} at (508,150) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (517,159) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (525,159) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (515,172) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
           RenderSVGContainer {g} at (583,111) size 51x123 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
             RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 27x11
@@ -88,10 +88,10 @@ layer at (0,0) size 800x600
             RenderSVGViewportContainer {svg} at (583,150) size 51x67
               RenderSVGRect {rect} at (583,150) size 51x67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (591,166) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (591,166) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (600,175) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (608,175) size 7x7 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (598,188) size 21x12 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+                RenderSVGEllipse {circle} at (591,166) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (600,175) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (609,175) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (598,188) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
           RenderSVGContainer {g} at (666,111) size 51x123 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
             RenderSVGText {text} at (0,-13) size 29x11 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 29x11
@@ -100,10 +100,10 @@ layer at (0,0) size 800x600
             RenderSVGViewportContainer {svg} at (666,166) size 51x68
               RenderSVGRect {rect} at (666,166) size 51x68 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (675,183) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (675,183) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (683,191) size 7x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (691,191) size 8x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (681,205) size 21x12 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+                RenderSVGEllipse {circle} at (675,183) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (684,192) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (692,192) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (682,205) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (200,311) size 217x148 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,185.00)}]
           RenderSVGText {text} at (0,-28) size 127x11 contains 1 chunk(s)
             RenderSVGInlineText {#text} at (0,0) size 127x11
@@ -115,23 +115,23 @@ layer at (0,0) size 800x600
             RenderSVGRect {rect} at (200,358) size 50x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
             RenderSVGViewportContainer {svg} at (200,358) size 75x101
               RenderSVGRect {rect} at (200,358) size 75x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (211,383) size 53x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (211,383) size 53x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (225,395) size 10x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (236,395) size 13x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (221,415) size 33x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-          RenderSVGContainer {g} at (270,336) size 77x123 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
+              RenderSVGContainer {g} at (212,383) size 51x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (212,383) size 51x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (226,397) size 8x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (238,397) size 9x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (223,416) size 29x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+          RenderSVGContainer {g} at (270,336) size 76x123 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
             RenderSVGText {text} at (0,-13) size 25x11 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 25x11
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.60: "xMid*"
             RenderSVGRect {rect} at (283,358) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
-            RenderSVGViewportContainer {svg} at (270,358) size 77x101
-              RenderSVGRect {rect} at (270,358) size 77x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+            RenderSVGViewportContainer {svg} at (270,358) size 76x101
+              RenderSVGRect {rect} at (270,358) size 76x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (283,383) size 51x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (283,383) size 51x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (295,395) size 12x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (308,395) size 11x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (293,415) size 31x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+                RenderSVGEllipse {circle} at (283,383) size 51x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (297,397) size 8x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (309,397) size 9x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (294,416) size 29x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
           RenderSVGContainer {g} at (341,336) size 76x123 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
             RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 27x11
@@ -139,11 +139,11 @@ layer at (0,0) size 800x600
             RenderSVGRect {rect} at (366,358) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
             RenderSVGViewportContainer {svg} at (341,358) size 76x101
               RenderSVGRect {rect} at (341,358) size 76x101 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (353,383) size 52x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (353,383) size 52x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (366,395) size 11x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (378,395) size 12x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (363,415) size 32x19 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+              RenderSVGContainer {g} at (354,383) size 51x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (354,383) size 51x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (367,397) size 9x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (380,397) size 8x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (365,416) size 29x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
         RenderSVGContainer {g} at (500,311) size 200x181 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,185.00)}]
           RenderSVGText {text} at (0,-28) size 115x11 contains 1 chunk(s)
             RenderSVGInlineText {#text} at (0,0) size 115x11
@@ -155,37 +155,37 @@ layer at (0,0) size 800x600
             RenderSVGRect {rect} at (500,358) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
             RenderSVGViewportContainer {svg} at (500,358) size 84x112
               RenderSVGRect {rect} at (500,358) size 84x112 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (513,385) size 57x57 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (513,385) size 57x57 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (526,400) size 14x12 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (541,400) size 13x12 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (525,421) size 34x21 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-          RenderSVGContainer {g} at (616,326) size 84x114 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
+              RenderSVGContainer {g} at (513,386) size 57x56 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (513,386) size 57x56 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (529,401) size 9x9 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (543,401) size 9x9 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (526,422) size 32x18 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+          RenderSVGContainer {g} at (616,327) size 84x112 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
             RenderSVGText {text} at (0,-13) size 27x11 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 27x11
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.40: "*YMid"
             RenderSVGRect {rect} at (616,358) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
-            RenderSVGViewportContainer {svg} at (616,326) size 84x114
-              RenderSVGRect {rect} at (616,326) size 84x114 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+            RenderSVGViewportContainer {svg} at (616,327) size 84x112
+              RenderSVGRect {rect} at (616,327) size 84x112 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
               RenderSVGContainer {g} at (630,355) size 57x57 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (630,355) size 57x57 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (643,368) size 14x14 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (658,368) size 12x14 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (641,391) size 34x21 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-          RenderSVGContainer {g} at (500,380) size 84x114 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
+                RenderSVGEllipse {circle} at (630,355) size 57x57 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (645,370) size 10x10 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (659,370) size 10x10 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (642,392) size 32x18 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+          RenderSVGContainer {g} at (500,380) size 84x112 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
             RenderSVGText {text} at (0,-13) size 29x11 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 29x11
                 chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 28.20: "*YMax"
             RenderSVGRect {rect} at (500,441) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
-            RenderSVGViewportContainer {svg} at (500,380) size 84x114
-              RenderSVGRect {rect} at (500,380) size 84x114 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
-              RenderSVGContainer {g} at (513,408) size 57x57 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
-                RenderSVGPath {circle} at (513,408) size 57x57 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
-                RenderSVGPath {circle} at (526,421) size 14x13 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {circle} at (541,421) size 13x13 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
-                RenderSVGPath {path} at (525,443) size 34x22 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
-    RenderSVGText {text} at (10,303) size 269x48 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 269x48
+            RenderSVGViewportContainer {svg} at (500,380) size 84x112
+              RenderSVGRect {rect} at (500,380) size 84x112 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
+              RenderSVGContainer {g} at (513,408) size 57x56 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                RenderSVGEllipse {circle} at (513,408) size 57x56 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
+                RenderSVGEllipse {circle} at (529,423) size 9x9 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
+                RenderSVGEllipse {circle} at (543,423) size 9x9 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
+                RenderSVGPath {path} at (526,445) size 32x17 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
+    RenderSVGText {text} at (10,303) size 269x47 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 269x47
         chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 268.20: "$Revision: 1.6 $"
     RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
index 2bc092a..3dc9f86 100644 (file)
@@ -1,3 +1,48 @@
+2012-04-07  Nikolas Zimmermann  <nzimmermann@rim.com>
+
+        Work around an entity parsing bug in libxml2 2.7.3 (supplied with Lion) and unskip tests
+        https://bugs.webkit.org/show_bug.cgi?id=82577
+
+        Reviewed by Filip Pizlo.
+
+        Work-around entity expansion bug that affects several SVG tests on Lion.
+
+        Sample test document which is currently broken:
+        <?xml version="1.0" encoding="UTF-8"?>
+        <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" [
+        <!ENTITY Smile "<rect x='.5' y='.5' width='29' height='39' fill='black' stroke='red'/>">
+        ]>
+
+        <svg xmlns="http://www.w3.org/2000/svg">&Smile;</svg>
+
+        The expanded rect carries no namespace, thus an Element will be created for it, instead of a SVGRectElement.
+        libxml2 2.7.4 fixed this bug (https://bugzilla.gnome.org/show_bug.cgi?id=502960) in 2009 already, but Lion
+        still ships with 2.7.3, so we need to find a work-around for the problem. It works like this:
+        - When an entity is requested (getEntityHandler) determine whether the entity is being declared (while the <!ENTITY.. parses)
+          or wheter its references (when the &Smile; is parsed). If its referenced, record the current depth of the libxml2 parser.
+        - When startElementNs is called while we're expanding entities, be sure to transfer the namespace of the parent node
+          to the new node, but only do this if the current depth() is greater than the depth() at the time where entity expansion started.
+          This way we only apply our workaround for elements inside entities, that get expanded at the insertion point.
+        - When endElementNs is called, and our current depth() is less than our equal to the depth() where entity expansion started,
+          clear the recorded detph(), and stop executing the workaround.
+
+        It requires storing an extra integer & boolean in XMLDocumentParser, which is only used for this work-around.
+
+        * xml/parser/XMLDocumentParser.h:
+        (XMLDocumentParser):
+        (WebCore::XMLDocumentParser::isParsingEntityDeclaration):
+        (WebCore::XMLDocumentParser::setIsParsingEntityDeclaration):
+        (WebCore::XMLDocumentParser::depthTriggeringEntityExpansion):
+        (WebCore::XMLDocumentParser::setDepthTriggeringEntityExpansion):
+        * xml/parser/XMLDocumentParserLibxml2.cpp:
+        (WebCore::XMLDocumentParser::XMLDocumentParser):
+        (WebCore::hackAroundLibXMLEntityParsingBug):
+        (WebCore::XMLDocumentParser::startElementNs):
+        (WebCore::XMLDocumentParser::endElementNs):
+        (WebCore::entityDeclarationHandler):
+        (WebCore::getEntityHandler):
+        (WebCore::XMLDocumentParser::initializeParserContext):
+
 2012-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>
 
         Unreviewed, rolling out r113526.
index 1ec0a80..f25697d 100644 (file)
@@ -153,6 +153,12 @@ public:
         void startDocument(const xmlChar* version, const xmlChar* encoding, int standalone);
         void internalSubset(const xmlChar* name, const xmlChar* externalID, const xmlChar* systemID);
         void endDocument();
+
+        bool isParsingEntityDeclaration() const { return m_isParsingEntityDeclaration; }
+        void setIsParsingEntityDeclaration(bool value) { m_isParsingEntityDeclaration = value; }
+
+        int depthTriggeringEntityExpansion() const { return m_depthTriggeringEntityExpansion; }
+        void setDepthTriggeringEntityExpansion(int depth) { m_depthTriggeringEntityExpansion = depth; }
 #endif
     private:
         void initializeParserContext(const CString& chunk = CString());
@@ -181,6 +187,8 @@ public:
         RefPtr<XMLParserContext> m_context;
         OwnPtr<PendingCallbacks> m_pendingCallbacks;
         Vector<xmlChar> m_bufferedText;
+        int m_depthTriggeringEntityExpansion;
+        bool m_isParsingEntityDeclaration;
 #endif
         ContainerNode* m_currentNode;
         Vector<ContainerNode*> m_currentNodeStack;
index 3a36d98..b4a9a81 100644 (file)
@@ -544,6 +544,8 @@ XMLDocumentParser::XMLDocumentParser(Document* document, FrameView* frameView)
     , m_view(frameView)
     , m_context(0)
     , m_pendingCallbacks(PendingCallbacks::create())
+    , m_depthTriggeringEntityExpansion(-1)
+    , m_isParsingEntityDeclaration(false)
     , m_currentNode(document)
     , m_sawError(false)
     , m_sawCSS(false)
@@ -566,6 +568,8 @@ XMLDocumentParser::XMLDocumentParser(DocumentFragment* fragment, Element* parent
     , m_view(0)
     , m_context(0)
     , m_pendingCallbacks(PendingCallbacks::create())
+    , m_depthTriggeringEntityExpansion(-1)
+    , m_isParsingEntityDeclaration(false)
     , m_currentNode(fragment)
     , m_sawError(false)
     , m_sawCSS(false)
@@ -731,6 +735,19 @@ static inline void handleElementAttributes(Element* newElement, const xmlChar**
     }
 }
 
+// This is a hack around https://bugzilla.gnome.org/show_bug.cgi?id=502960
+// Otherwise libxml doesn't include namespace for parsed entities, breaking entity
+// expansion for all entities containing elements.
+static inline bool hackAroundLibXMLEntityParsingBug()
+{
+#if LIBXML_VERSION >= 20704
+    // This bug has been fixed in libxml 2.7.4.
+    return false;
+#else
+    return true;
+#endif
+}
+
 void XMLDocumentParser::startElementNs(const xmlChar* xmlLocalName, const xmlChar* xmlPrefix, const xmlChar* xmlURI, int nb_namespaces,
                                   const xmlChar** libxmlNamespaces, int nb_attributes, int nb_defaulted, const xmlChar** libxmlAttributes)
 {
@@ -756,6 +773,11 @@ void XMLDocumentParser::startElementNs(const xmlChar* xmlLocalName, const xmlCha
             uri = m_defaultNamespaceURI;
     }
 
+    // If libxml entity parsing is broken, transfer the currentNodes' namespaceURI to the new node,
+    // if we're currently expanding elements which originate from an entity declaration.
+    if (hackAroundLibXMLEntityParsingBug() && depthTriggeringEntityExpansion() != -1 && context()->depth > depthTriggeringEntityExpansion() && uri.isNull() && prefix.isNull())
+        uri = m_currentNode->namespaceURI();
+
     bool isFirstElement = !m_sawFirstElement;
     m_sawFirstElement = true;
 
@@ -817,6 +839,10 @@ void XMLDocumentParser::endElementNs()
     RefPtr<ContainerNode> n = m_currentNode;
     n->finishParsingChildren();
 
+    // Once we reach the depth again where entity expansion started, stop executing the work-around.
+    if (hackAroundLibXMLEntityParsingBug() && context()->depth <= depthTriggeringEntityExpansion())
+        setDepthTriggeringEntityExpansion(-1);
+
     if (m_scriptingPermission == FragmentScriptingNotAllowed && n->isElementNode() && toScriptElement(static_cast<Element*>(n.get()))) {
         popCurrentNode();
         ExceptionCode ec;
@@ -1142,9 +1168,34 @@ static xmlEntityPtr getXHTMLEntity(const xmlChar* name)
     return entity;
 }
 
+static void entityDeclarationHandler(void* closure, const xmlChar* name, int type, const xmlChar* publicId, const xmlChar* systemId, xmlChar* content)
+{
+    // Prevent the next call to getEntityHandler() to record the entity expansion depth.
+    // We're parsing the entity declaration, so there's no need to record anything.
+    // We only need to record the depth, if we're actually expanding the entity, when it's referenced.
+    if (hackAroundLibXMLEntityParsingBug())
+        getParser(closure)->setIsParsingEntityDeclaration(true);
+    xmlSAX2EntityDecl(closure, name, type, publicId, systemId, content);
+}
+
 static xmlEntityPtr getEntityHandler(void* closure, const xmlChar* name)
 {
     xmlParserCtxtPtr ctxt = static_cast<xmlParserCtxtPtr>(closure);
+
+    XMLDocumentParser* parser = getParser(closure);
+    if (hackAroundLibXMLEntityParsingBug()) {
+        if (parser->isParsingEntityDeclaration()) {
+            // We're parsing the entity declarations (not an entity reference), no need to do anything special.
+            parser->setIsParsingEntityDeclaration(false);
+            ASSERT(parser->depthTriggeringEntityExpansion() == -1);
+        } else {
+            // The entity will be used and eventually expanded. Record the current parser depth
+            // so the next call to startElementNs() knows that the new element originates from
+            // an entity declaration.
+            parser->setDepthTriggeringEntityExpansion(ctxt->depth);
+        }
+    }
+
     xmlEntityPtr ent = xmlGetPredefinedEntity(name);
     if (ent) {
         ent->etype = XML_INTERNAL_PREDEFINED_ENTITY;
@@ -1152,7 +1203,7 @@ static xmlEntityPtr getEntityHandler(void* closure, const xmlChar* name)
     }
 
     ent = xmlGetDocEntity(ctxt->myDoc, name);
-    if (!ent && getParser(closure)->isXHTMLDocument()) {
+    if (!ent && parser->isXHTMLDocument()) {
         ent = getXHTMLEntity(name);
         if (ent)
             ent->etype = XML_INTERNAL_GENERAL_ENTITY;
@@ -1222,7 +1273,7 @@ void XMLDocumentParser::initializeParserContext(const CString& chunk)
     sax.internalSubset = internalSubsetHandler;
     sax.externalSubset = externalSubsetHandler;
     sax.ignorableWhitespace = ignorableWhitespaceHandler;
-    sax.entityDecl = xmlSAX2EntityDecl;
+    sax.entityDecl = entityDeclarationHandler;
     sax.initialized = XML_SAX2_MAGIC;
     DocumentParser::startParsing();
     m_sawError = false;