layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x504
  RenderBlock {html} at (0,0) size 800x504
    RenderBody {body} at (0,0) size 800x504
      RenderSVGRoot {svg} at (9,12) size 591x384
        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
          RenderSVGResourceLinearGradient {linearGradient} [id="grad1"] [gradientUnits=objectBoundingBox] [gradientTransform={m=((0.71,0.71)(-0.71,0.71)) t=(0.00,0.00)}] [start=(0,0)] [end=(1,0)]
            RenderSVGGradientStop {stop} [offset=0.00] [color=#000000]
            RenderSVGGradientStop {stop} [offset=1.00] [color=#FFFFFF]
          RenderSVGResourceLinearGradient {linearGradient} [id="grad2"] [gradientUnits=objectBoundingBox] [gradientTransform={m=((0.71,0.71)(-0.71,0.71)) t=(0.00,0.00)}] [start=(0,0)] [end=(1,0)]
            RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
            RenderSVGGradientStop {stop} [offset=1.00] [color=#008000]
        RenderSVGContainer {g} at (9,12) size 591x384 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,0.00)}]
          RenderSVGText {text} at (0,12) size 368x23 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 368x23
              chunk 1 text run 1 at (0.00,30.00) startOffset 0 endOffset 47 width 368.00: "Selected text should be filled with solid blue."
          RenderSVGText {text} at (0,42) size 384x23 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 384x23
              chunk 1 text run 1 at (0.00,60.00) startOffset 0 endOffset 48 width 384.00: "Selected text should be stroked with solid blue."
          RenderSVGText {text} at (0,72) size 355x23 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 355x23
              chunk 1 text run 1 at (0.00,90.00) startOffset 0 endOffset 45 width 355.00: "Selected text should be filled with gradient."
          RenderSVGText {text} at (0,102) size 371x23 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 371x23
              chunk 1 text run 1 at (0.00,120.00) startOffset 0 endOffset 46 width 371.00: "Selected text should be stroked with gradient."
          RenderSVGText {text} at (0,132) size 275x23 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 275x23
              chunk 1 text run 1 at (0.00,150.00) startOffset 0 endOffset 35 width 275.00: "Selected text should get invisible."
          RenderSVGText {text} at (0,162) size 589x23 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 589x23
              chunk 1 text run 1 at (0.00,180.00) startOffset 0 endOffset 73 width 589.00: "Selected text should have both gradient fill, solid stroke and background"
          RenderSVGText {text} at (0,222) size 589x23 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 589x23
              chunk 1 text run 1 at (0.00,240.00) startOffset 0 endOffset 73 width 589.00: "Selected text should have both gradient fill, solid stroke and background"
          RenderSVGText {text} at (0,252) size 589x23 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 589x23
              chunk 1 text run 1 at (0.00,270.00) startOffset 0 endOffset 73 width 589.00: "Selected text should have both gradient fill, solid stroke and background"
          RenderSVGText {text} at (0,282) size 589x23 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 589x23
              chunk 1 text run 1 at (0.00,300.00) startOffset 0 endOffset 73 width 589.00: "Selected text should have both gradient fill, solid stroke and background"
          RenderSVGText {text} at (0,312) size 589x23 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 589x23
              chunk 1 text run 1 at (0.00,330.00) startOffset 0 endOffset 73 width 589.00: "Selected text should have both gradient fill, solid stroke and background"
          RenderSVGText {text} at (0,342) size 589x23 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 589x23
              chunk 1 text run 1 at (0.00,360.00) startOffset 0 endOffset 73 width 589.00: "Selected text should have both gradient fill, solid stroke and background"
          RenderSVGText {text} at (0,372) size 589x23 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 589x23
              chunk 1 text run 1 at (0.00,390.00) startOffset 0 endOffset 73 width 589.00: "Selected text should have both gradient fill, solid stroke and background"
      RenderText {#text} at (0,0) size 0x0
selection start: position 0 of child 0 {#text} of child 3 {text} of child 3 {g} of child 1 {svg} of body
selection end:   position 73 of child 0 {#text} of child 27 {text} of child 3 {g} of child 1 {svg} of body
