layer at (0,0) size 480x360
  RenderView at (0,0) size 480x360
layer at (0,0) size 480x360
  RenderSVGRoot {svg} at (0,0) size 480x360
    RenderSVGContainer {g} at (10,11) size 430x282
      RenderSVGText {text} at (10,11) size 194x17 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 194x17
          chunk 1 text run 1 at (10.00,25.00) startOffset 0 endOffset 31 width 194.00: "Testing gradientUnits attribute"
      RenderSVGResourceLinearGradient {linearGradient} [id="Grad1"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#0000FF]
      RenderSVGRect {rect} at (125,35) size 200x50 [fill={[type=LINEAR-GRADIENT] [id="Grad1"]}] [x=125.00] [y=35.00] [width=200.00] [height=50.00]
      RenderSVGText {text} at (10,89) size 397x14 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 397x14
          chunk 1 text run 1 at (10.00,100.00) startOffset 0 endOffset 73 width 397.00: "Linear gradient with default attributes (thus, same as objectBoundingBox)"
      RenderSVGText {text} at (10,104) size 363x14 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 363x14
          chunk 1 text run 1 at (10.00,115.00) startOffset 0 endOffset 71 width 363.00: "Gradient is from the object left edge (red) to object right edge (blue)"
      RenderSVGResourceLinearGradient {linearGradient} [id="Grad2"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(0,1)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#0000FF]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#FF0000]
      RenderSVGRect {rect} at (10,125) size 430x50 [fill={[type=LINEAR-GRADIENT] [id="Grad2"]}] [x=10.00] [y=125.00] [width=430.00] [height=50.00]
      RenderSVGText {text} at (10,179) size 187x14 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 187x14
          chunk 1 text run 1 at (10.00,190.00) startOffset 0 endOffset 31 width 187.00: "gradientUnits=objectBoundingBox"
      RenderSVGText {text} at (10,194) size 377x14 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 377x14
          chunk 1 text run 1 at (10.00,205.00) startOffset 0 endOffset 71 width 377.00: "Gradient is from the object top edge (blue) to object bottom edge (red)"
      RenderSVGResourceLinearGradient {linearGradient} [id="Grad3"] [gradientUnits=userSpaceOnUse] [start=(0,0)] [end=(0,430)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#0000FF]
      RenderSVGRect {rect} at (10,210) size 430x50 [transform={m=((0.00,-1.00)(1.00,0.00)) t=(10.00,260.00)}] [fill={[type=LINEAR-GRADIENT] [id="Grad3"]}] [x=0.00] [y=0.00] [width=50.00] [height=430.00]
      RenderSVGText {text} at (10,264) size 177x14 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 177x14
          chunk 1 text run 1 at (10.00,275.00) startOffset 0 endOffset 28 width 177.00: "gradientUnits=userSpaceOnUse"
      RenderSVGText {text} at (10,279) size 363x14 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 363x14
          chunk 1 text run 1 at (10.00,290.00) startOffset 0 endOffset 71 width 363.00: "Gradient is from the object left edge (red) to object right edge (blue)"
    RenderSVGText {text} at (10,304) size 264x45 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 264x45
        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 264.00: "$Revision: 1.7 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
