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 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 784x20
        RenderText {#text} at (0,0) size 363x19
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,36) size 784x42
        RenderText {#text} at (0,0) size 367x42
          text run at (0,0) width 367: "P {background-image: url(../resources/bg.gif);}"
          text run at (0,14) width 235: ".one {background-image: none;}"
          text run at (0,28) width 0: " "
      RenderBlock {HR} at (0,91) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,109) size 784x40
        RenderText {#text} at (0,0) size 760x39
          text run at (0,0) width 512: "This sentence should be backed by an image-- a green grid pattern, in this case. "
          text run at (511,0) width 249: "The background image should also tile"
          text run at (0,20) width 680: "along both axes, because no repeat direction is specified (specific tests for repeating are found elsewhere)."
      RenderBlock {P} at (0,165) size 784x80
        RenderText {#text} at (0,0) size 607x19
          text run at (0,0) width 607: "This sentence should be backed by a repeated green-grid image, as should the last three words "
        RenderInline {STRONG} at (0,0) size 105x19
          RenderInline {SPAN} at (0,0) size 105x19
            RenderText {#text} at (606,0) size 105x19
              text run at (606,0) width 105: "in this sentence"
        RenderText {#text} at (710,0) size 757x39
          text run at (710,0) width 9: ". "
          text run at (718,0) width 39: "If it is"
          text run at (0,20) width 60: "not, then "
        RenderInline {CODE} at (0,0) size 33x14
          RenderText {#text} at (59,25) size 33x14
            text run at (59,25) width 33: "none"
        RenderText {#text} at (91,20) size 174x19
          text run at (91,20) width 169: " is interpreted incorrectly. "
          text run at (259,20) width 6: "("
        RenderInline {CODE} at (0,0) size 32x14
          RenderText {#text} at (264,25) size 32x14
            text run at (264,25) width 32: "none"
        RenderText {#text} at (295,20) size 763x59
          text run at (295,20) width 468: " means that the element has no background image, allowing the parent to"
          text run at (0,40) width 763: "\"shine through\" by default; since the parent of the words \"in this sentence\" is the paragraph, then the paragraph's image"
          text run at (0,60) width 118: "should be visible.)"
      RenderBlock {P} at (0,261) size 784x40
        RenderText {#text} at (0,0) size 774x39
          text run at (0,0) width 774: "This sentence should NOT be backed by a repeated green-grid image, allowing the page's background to \"shine through\""
          text run at (0,20) width 50: "instead."
      RenderTable {TABLE} at (0,317) size 784x230 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x228
          RenderTableRow {TR} at (0,0) size 782x28
            RenderTableCell {TD} at (0,0) size 782x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 161x19
                RenderText {#text} at (4,4) size 161x19
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,28) size 782x200
            RenderTableCell {TD} at (0,114) size 12x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x19
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,28) size 770x200 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 762x40
                RenderText {#text} at (0,0) size 760x39
                  text run at (0,0) width 512: "This sentence should be backed by an image-- a green grid pattern, in this case. "
                  text run at (511,0) width 249: "The background image should also tile"
                  text run at (0,20) width 680: "along both axes, because no repeat direction is specified (specific tests for repeating are found elsewhere)."
              RenderBlock {P} at (4,60) size 762x80
                RenderText {#text} at (0,0) size 607x19
                  text run at (0,0) width 607: "This sentence should be backed by a repeated green-grid image, as should the last three words "
                RenderInline {STRONG} at (0,0) size 105x19
                  RenderInline {SPAN} at (0,0) size 105x19
                    RenderText {#text} at (606,0) size 105x19
                      text run at (606,0) width 105: "in this sentence"
                RenderText {#text} at (710,0) size 757x39
                  text run at (710,0) width 9: ". "
                  text run at (718,0) width 39: "If it is"
                  text run at (0,20) width 60: "not, then "
                RenderInline {CODE} at (0,0) size 33x14
                  RenderText {#text} at (59,25) size 33x14
                    text run at (59,25) width 33: "none"
                RenderText {#text} at (91,20) size 174x19
                  text run at (91,20) width 169: " is interpreted incorrectly. "
                  text run at (259,20) width 6: "("
                RenderInline {CODE} at (0,0) size 32x14
                  RenderText {#text} at (264,25) size 32x14
                    text run at (264,25) width 32: "none"
                RenderText {#text} at (295,20) size 747x59
                  text run at (295,20) width 452: " means that the element has no background image, allowing the parent"
                  text run at (0,40) width 737: "to \"shine through\" by default; since the parent of the words \"in this sentence\" is the paragraph, then the paragraph's"
                  text run at (0,60) width 161: "image should be visible.)"
              RenderBlock {P} at (4,156) size 762x40
                RenderText {#text} at (0,0) size 714x39
                  text run at (0,0) width 714: "This sentence should NOT be backed by a repeated green-grid image, allowing the page's background to \"shine"
                  text run at (0,20) width 110: "through\" instead."
