layer at (0,0) size 785x856
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x856
  RenderBlock {html} at (0,0) size 785x857
    RenderBody {body} at (47,30) size 738x819
      RenderBlock {div} at (0,0) size 738x818
        RenderBlock {h1} at (0,0) size 679x31
          RenderText {#text} at (0,0) size 387x30
            text run at (0,0) width 387: "rightsizing to percentage width"
        RenderBlock {h4} at (0,31) size 738x16
          RenderText {#text} at (0,0) size 138x16
            text run at (0,0) width 138: "WICD Core 1.0 #20-2"
        RenderBlock (anonymous) at (0,66) size 738x300
          RenderEmbeddedObject {object} at (0,0) size 296x295 [bgcolor=#FF0000]
            layer at (0,0) size 295x295
              RenderView at (0,0) size 295x295
            layer at (0,0) size 295x295
              RenderSVGRoot {svg} at (0,0) size 295x295
                RenderSVGHiddenContainer {defs} at (0,0) size 0x0
                RenderSVGRect {rect} at (0,0) size 295x295 [fill={[type=SOLID] [color=#5588FF]}] [x=-3000.00] [y=-1000.00] [width=6200.00] [height=2200.00]
                RenderSVGEllipse {circle} at (0,0) size 295x295 [fill={[type=SOLID] [color=#0000FF]}] [cx=100.00] [cy=100.00] [r=100.00]
                RenderSVGContainer {g} at (35,88) size 225x121
                  RenderSVGText {text} at (24,59) size 152x83 contains 1 chunk(s)
                    RenderSVGInlineText {#text} at (0,0) size 152x82
                      chunk 1 (middle anchor) text run 1 at (24.07,125.00) startOffset 0 endOffset 3 width 151.86: "SVG"
          RenderText {#text} at (295,280) size 5x18
            text run at (295,280) width 5: " "
          RenderEmbeddedObject {object} at (299,147) size 148x148 [bgcolor=#FF0000]
            layer at (0,0) size 148x148
              RenderView at (0,0) size 148x148
            layer at (0,0) size 148x148
              RenderSVGRoot {svg} at (0,0) size 148x148
                RenderSVGHiddenContainer {defs} at (0,0) size 0x0
                RenderSVGRect {rect} at (0,0) size 148x148 [fill={[type=SOLID] [color=#5588FF]}] [x=-3000.00] [y=-1000.00] [width=6200.00] [height=2200.00]
                RenderSVGEllipse {circle} at (0,0) size 148x148 [fill={[type=SOLID] [color=#0000FF]}] [cx=100.00] [cy=100.00] [r=100.00]
                RenderSVGContainer {g} at (17,44) size 114x61
                  RenderSVGText {text} at (23,60) size 154x82 contains 1 chunk(s)
                    RenderSVGInlineText {#text} at (0,0) size 153x82
                      chunk 1 (middle anchor) text run 1 at (23.65,125.00) startOffset 0 endOffset 3 width 152.70: "SVG"
          RenderText {#text} at (446,280) size 5x18
            text run at (446,280) width 5: " "
          RenderEmbeddedObject {object} at (450,221) size 75x74 [bgcolor=#FF0000]
            layer at (0,0) size 74x74
              RenderView at (0,0) size 74x74
            layer at (0,0) size 74x74
              RenderSVGRoot {svg} at (0,0) size 74x74
                RenderSVGHiddenContainer {defs} at (0,0) size 0x0
                RenderSVGRect {rect} at (0,0) size 74x74 [fill={[type=SOLID] [color=#5588FF]}] [x=-3000.00] [y=-1000.00] [width=6200.00] [height=2200.00]
                RenderSVGEllipse {circle} at (0,0) size 74x74 [fill={[type=SOLID] [color=#0000FF]}] [cx=100.00] [cy=100.00] [r=100.00]
                RenderSVGContainer {g} at (8,22) size 58x31
                  RenderSVGText {text} at (24,60) size 152x82 contains 1 chunk(s)
                    RenderSVGInlineText {#text} at (0,0) size 152x82
                      chunk 1 (middle anchor) text run 1 at (24.32,125.00) startOffset 0 endOffset 3 width 151.35: "SVG"
          RenderText {#text} at (524,280) size 5x18
            text run at (524,280) width 5: " "
          RenderEmbeddedObject {object} at (528,258) size 38x37 [bgcolor=#FF0000]
            layer at (0,0) size 37x37
              RenderView at (0,0) size 37x37
            layer at (0,0) size 37x37
              RenderSVGRoot {svg} at (0,0) size 37x37
                RenderSVGHiddenContainer {defs} at (0,0) size 0x0
                RenderSVGRect {rect} at (0,0) size 37x37 [fill={[type=SOLID] [color=#5588FF]}] [x=-3000.00] [y=-1000.00] [width=6200.00] [height=2200.00]
                RenderSVGEllipse {circle} at (0,0) size 37x37 [fill={[type=SOLID] [color=#0000FF]}] [cx=100.00] [cy=100.00] [r=100.00]
                RenderSVGContainer {g} at (4,11) size 29x16
                  RenderSVGText {text} at (24,60) size 152x82 contains 1 chunk(s)
                    RenderSVGInlineText {#text} at (0,0) size 152x82
                      chunk 1 (middle anchor) text run 1 at (24.32,125.00) startOffset 0 endOffset 3 width 151.35: "SVG"
          RenderText {#text} at (0,0) size 0x0
        RenderBlock {p} at (0,368) size 679x69
          RenderText {#text} at (0,0) size 651x34
            text run at (0,0) width 651: "Above there must be four times the same, square SVG child visible, each referenced by an object element"
            text run at (0,17) width 414: "with different widths (40%, 20%, 10%, 5%) and no height defined. "
          RenderBR {br} at (414,17) size 0x17
          RenderBR {br} at (0,34) size 0x17
          RenderText {#text} at (0,51) size 398x17
            text run at (0,51) width 398: "Beyond there is the same, only with PNG images instead of SVG."
        RenderBlock (anonymous) at (0,441) size 738x300
          RenderImage {object} at (0,0) size 296x295 [bgcolor=#FF0000]
          RenderText {#text} at (295,280) size 5x18
            text run at (295,280) width 5: " "
          RenderImage {object} at (299,147) size 148x148 [bgcolor=#FF0000]
          RenderText {#text} at (446,280) size 5x18
            text run at (446,280) width 5: " "
          RenderImage {object} at (450,221) size 75x74 [bgcolor=#FF0000]
          RenderText {#text} at (524,280) size 5x18
            text run at (524,280) width 5: " "
          RenderImage {object} at (528,258) size 38x37 [bgcolor=#FF0000]
          RenderText {#text} at (0,0) size 0x0
        RenderBlock {p} at (0,743) size 679x35
          RenderText {#text} at (0,0) size 661x34
            text run at (0,0) width 661: "This test has succeeded, if both rows look exactly the same (SVGs must be square!) and no red background"
            text run at (0,17) width 94: "color is visible."
        RenderBlock {p} at (0,783) size 679x35
          RenderBR {br} at (0,0) size 0x17
          RenderInline {a} at (0,0) size 31x17 [color=#000066]
            RenderText {#text} at (0,17) size 31x17
              text run at (0,17) width 31: "Back"
