layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderBlock {HTML} at (0,0) size 800x600
    RenderBody {BODY} at (8,8) size 784x584
      RenderBlock {P} at (0,0) size 784x18
        RenderText {#text} at (0,0) size 363x18
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 784x60
        RenderText {#text} at (0,0) size 632x60
          text run at (0,0) width 632: "<LINK rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"../resources/bg.gif\">"
          text run at (631,0) width 1: " "
          text run at (0,15) width 289: "@import url(../resources/sec642.css);"
          text run at (288,15) width 1: " "
          text run at (0,30) width 344: "BODY {background: url(../resources/bg.gif);}"
          text run at (343,30) width 1: " "
          text run at (0,45) width 0: " "
      RenderBlock {HR} at (0,107) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,125) size 784x18
        RenderText {#text} at (0,0) size 393x18
          text run at (0,0) width 393: "This page should have a green grid pattern as its background."
      RenderBlock {P} at (0,159) size 784x54 [bgcolor=#FFFFFF]
        RenderText {#text} at (0,0) size 783x54
          text run at (0,0) width 627: "This paragraph should have a white background, but NO image should appear in the background. "
          text run at (626,0) width 153: "If an image, in this case"
          text run at (0,18) width 783: "a red square-- or, indeed, any red at all-- is seen there, then the browser has incorrectly interpreted a URL in relation to the"
          text run at (0,36) width 277: "document's URL, not the stylesheet's URL."
      RenderBlock {P} at (0,229) size 784x54 [bgcolor=#FFFFFF]
        RenderText {#text} at (0,0) size 783x54
          text run at (0,0) width 627: "This paragraph should have a white background, but NO image should appear in the background. "
          text run at (626,0) width 153: "If an image, in this case"
          text run at (0,18) width 783: "a red square-- or, indeed, any red at all-- is seen there, then the browser has incorrectly interpreted a URL in relation to the"
          text run at (0,36) width 277: "document's URL, not the stylesheet's URL."
      RenderTable {TABLE} at (0,299) size 784x194 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x192
          RenderTableRow {TR} at (0,0) size 782x26
            RenderTableCell {TD} at (0,0) size 782x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 161x18
                RenderText {#text} at (4,4) size 161x18
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 782x166
            RenderTableCell {TD} at (0,96) size 12x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x18
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,26) size 770x166 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 762x18
                RenderText {#text} at (0,0) size 393x18
                  text run at (0,0) width 393: "This page should have a green grid pattern as its background."
              RenderBlock {P} at (4,38) size 762x54 [bgcolor=#FFFFFF]
                RenderText {#text} at (0,0) size 748x54
                  text run at (0,0) width 627: "This paragraph should have a white background, but NO image should appear in the background. "
                  text run at (626,0) width 122: "If an image, in this"
                  text run at (0,18) width 722: "case a red square-- or, indeed, any red at all-- is seen there, then the browser has incorrectly interpreted a URL in"
                  text run at (0,36) width 370: "relation to the document's URL, not the stylesheet's URL."
              RenderBlock {P} at (4,108) size 762x54 [bgcolor=#FFFFFF]
                RenderText {#text} at (0,0) size 748x54
                  text run at (0,0) width 627: "This paragraph should have a white background, but NO image should appear in the background. "
                  text run at (626,0) width 122: "If an image, in this"
                  text run at (0,18) width 722: "case a red square-- or, indeed, any red at all-- is seen there, then the browser has incorrectly interpreted a URL in"
                  text run at (0,36) width 370: "relation to the document's URL, not the stylesheet's URL."
