layer at (0,0) size 800x600 clip at (0,0) size 785x600 scrollHeight 622
  LayoutView at (0,0) size 800x600
layer at (0,0) size 785x538
  LayoutBlockFlow {html} at (0,0) size 785x538
    LayoutBlockFlow {body} at (8,16) size 769x472 [bgcolor=#FFFFFF]
      LayoutBlockFlow {p} at (0,0) size 769x20
        LayoutText {#text} at (0,0) size 521x19
          text run at (0,0) width 300: "CSS Transformed HTML div with SVG inside it. "
          text run at (300,0) width 221: "objectBoundingBox patterns on text."
layer at (58,86) size 402x402
  LayoutBlockFlow {div} at (50,70) size 402x402 [border: (1px solid #000000)]
    LayoutSVGRoot {svg} at (66,60) size 480x420
      LayoutSVGResourcePattern {pattern} [id="pat1"] [patternUnits=objectBoundingBox] [patternContentUnits=userSpaceOnUse]
        LayoutSVGRect {rect} at (168,65) size 13x13 [fill={[type=SOLID] [color=#FF0000]}] [x=5.00] [y=5.00] [width=10.00] [height=10.00]
        LayoutSVGRect {rect} at (171,70) size 12x13 [fill={[type=SOLID] [color=#008000]}] [x=10.00] [y=10.00] [width=10.00] [height=10.00]
      LayoutSVGRect {rect} at (168,74) size 357x173 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [id="pat1"]}] [x=25.00] [y=10.00] [width=430.00] [height=60.00]
      LayoutSVGText {text} at (25,73) size 414x16 contains 1 chunk(s)
        LayoutSVGInlineText {#text} at (0,0) size 414x16
          chunk 1 text run 1 at (25.00,85.00) startOffset 0 endOffset 75 width 414.00: "Pattern created using red and green rectangles applied to fill of rectangle"
      LayoutSVGResourcePattern {pattern} [id="pat2"] [patternUnits=objectBoundingBox] [patternContentUnits=userSpaceOnUse]
        LayoutSVGRect {rect} at (166,60) size 12x13 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
        LayoutSVGRect {rect} at (173,63) size 13x12 [fill={[type=SOLID] [color=#008000]}] [x=10.00] [y=0.00] [width=10.00] [height=10.00]
        LayoutSVGRect {rect} at (163,68) size 13x12 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=10.00] [width=10.00] [height=10.00]
        LayoutSVGRect {rect} at (171,70) size 12x13 [fill={[type=SOLID] [color=#FFFF00]}] [x=10.00] [y=10.00] [width=10.00] [height=10.00]
      LayoutSVGRect {rect} at (142,145) size 357x172 [stroke={[type=PATTERN] [id="pat2"] [stroke width=20.00]}] [x=35.00] [y=110.00] [width=410.00] [height=40.00]
      LayoutSVGText {text} at (25,163) size 320x16 contains 1 chunk(s)
        LayoutSVGInlineText {#text} at (0,0) size 320x16
          chunk 1 text run 1 at (25.00,175.00) startOffset 0 endOffset 59 width 319.20: "Pattern of 4 rectangles applied to a stroke of a rectangle."
      LayoutSVGResourcePattern {pattern} [id="pat3"] [patternUnits=objectBoundingBox] [patternContentUnits=userSpaceOnUse]
        LayoutSVGRect {rect} at (166,60) size 12x13 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
        LayoutSVGRect {rect} at (163,68) size 13x12 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=10.00] [width=10.00] [height=10.00]
      LayoutSVGText {text} at (25,174) size 298x57 contains 1 chunk(s)
        LayoutSVGInlineText {#text} at (0,0) size 298x57
          chunk 1 text run 1 at (25.00,220.00) startOffset 0 endOffset 15 width 297.60: "Pattern on fill"
      LayoutSVGText {text} at (25,223) size 213x16 contains 1 chunk(s)
        LayoutSVGInlineText {#text} at (0,0) size 213x16
          chunk 1 text run 1 at (25.00,235.00) startOffset 0 endOffset 38 width 211.20: "Pattern consists of red and green rows"
      LayoutSVGResourcePattern {pattern} [id="pat4"] [patternUnits=objectBoundingBox] [patternContentUnits=userSpaceOnUse]
        LayoutSVGRect {rect} at (166,60) size 12x13 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
        LayoutSVGRect {rect} at (173,63) size 13x12 [fill={[type=SOLID] [color=#0000FF]}] [x=10.00] [y=0.00] [width=10.00] [height=10.00]
      LayoutSVGText {text} at (25,237) size 292x47 contains 1 chunk(s)
        LayoutSVGInlineText {#text} at (0,0) size 292x46
          chunk 1 text run 1 at (25.00,275.00) startOffset 0 endOffset 17 width 291.60: "Pattern on stroke"
      LayoutSVGText {text} at (25,278) size 228x16 contains 1 chunk(s)
        LayoutSVGInlineText {#text} at (0,0) size 228x16
          chunk 1 text run 1 at (25.00,290.00) startOffset 0 endOffset 40 width 226.80: "Pattern consists of red and blue columns"
      LayoutSVGText {text} at (10,305) size 258x45 contains 1 chunk(s)
        LayoutSVGInlineText {#text} at (0,0) size 258x45
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 258.00: "$Revision: 1.6 $"
      LayoutSVGRect {rect} at (66,60) size 480x420 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
    LayoutText {#text} at (0,0) size 0x0
