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 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 784x45
        RenderText {#text} at (0,0) size 367x45
          text run at (0,0) width 367: "P {background-image: url(../resources/bg.gif);}"
          text run at (366,0) width 1: " "
          text run at (0,15) width 235: ".one {background-image: none;}"
          text run at (234,15) width 1: " "
          text run at (0,30) width 0: " "
      RenderBlock {HR} at (0,92) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,110) size 784x36
        RenderText {#text} at (0,0) size 760x36
          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,18) width 678: "along both axes, because no repeat direction is specified (specific tests for repeating are found elsewhere)."
      RenderBlock {P} at (0,162) size 784x72
        RenderText {#text} at (0,0) size 607x18
          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 105x18
          RenderInline {SPAN} at (0,0) size 105x18
            RenderText {#text} at (606,0) size 105x18
              text run at (606,0) width 105: "in this sentence"
        RenderText {#text} at (710,0) size 757x36
          text run at (710,0) width 9: ". "
          text run at (718,0) width 39: "If it is"
          text run at (0,18) width 60: "not, then "
        RenderInline {CODE} at (0,0) size 33x15
          RenderText {#text} at (59,20) size 33x15
            text run at (59,20) width 33: "none"
        RenderText {#text} at (91,18) size 174x18
          text run at (91,18) width 169: " is interpreted incorrectly. "
          text run at (259,18) width 6: "("
        RenderInline {CODE} at (0,0) size 32x15
          RenderText {#text} at (264,20) size 32x15
            text run at (264,20) width 32: "none"
        RenderText {#text} at (295,18) size 763x54
          text run at (295,18) width 468: " means that the element has no background image, allowing the parent to"
          text run at (0,36) 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,54) width 118: "should be visible.)"
      RenderBlock {P} at (0,250) size 784x36
        RenderText {#text} at (0,0) size 774x36
          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,18) width 50: "instead."
      RenderTable {TABLE} at (0,302) size 784x212 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x210
          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 782x184
            RenderTableCell {TD} at (0,105) 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 770x184 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 762x36
                RenderText {#text} at (0,0) size 760x36
                  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,18) width 678: "along both axes, because no repeat direction is specified (specific tests for repeating are found elsewhere)."
              RenderBlock {P} at (4,56) size 762x72
                RenderText {#text} at (0,0) size 607x18
                  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 105x18
                  RenderInline {SPAN} at (0,0) size 105x18
                    RenderText {#text} at (606,0) size 105x18
                      text run at (606,0) width 105: "in this sentence"
                RenderText {#text} at (710,0) size 757x36
                  text run at (710,0) width 9: ". "
                  text run at (718,0) width 39: "If it is"
                  text run at (0,18) width 60: "not, then "
                RenderInline {CODE} at (0,0) size 33x15
                  RenderText {#text} at (59,20) size 33x15
                    text run at (59,20) width 33: "none"
                RenderText {#text} at (91,18) size 174x18
                  text run at (91,18) width 169: " is interpreted incorrectly. "
                  text run at (259,18) width 6: "("
                RenderInline {CODE} at (0,0) size 32x15
                  RenderText {#text} at (264,20) size 32x15
                    text run at (264,20) width 32: "none"
                RenderText {#text} at (295,18) size 747x54
                  text run at (295,18) width 452: " means that the element has no background image, allowing the parent"
                  text run at (0,36) 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,54) width 161: "image should be visible.)"
              RenderBlock {P} at (4,144) size 762x36
                RenderText {#text} at (0,0) size 714x36
                  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,18) width 110: "through\" instead."
