layer at (0,0) size 800x1396
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x1396
  RenderBlock {HTML} at (0,0) size 800x1396
    RenderBody {BODY} at (8,8) size 784x1380 [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 149x42
          text run at (0,0) width 149: ".one {width: 50px;}"
          text run at (148,0) width 1: " "
          text run at (0,14) width 141: ".two {width: 50%;}"
          text run at (140,14) width 1: " "
          text run at (0,28) width 149: "TABLE {width: 50%;}"
          text run at (148,28) width 1: " "
      RenderBlock {HR} at (0,91) size 784x2 [border: (1px inset #000000)]
      RenderBlock (anonymous) at (0,101) size 784x50
        RenderImage {IMG} at (0,0) size 50x50
        RenderText {#text} at (0,0) size 0x0
      RenderBlock {P} at (0,167) size 784x20
        RenderText {#text} at (0,0) size 292x19
          text run at (0,0) width 292: "The square above should be fifty pixels wide."
      RenderBlock (anonymous) at (0,203) size 784x392
        RenderImage {IMG} at (0,0) size 392x392
        RenderText {#text} at (0,0) size 0x0
      RenderBlock {P} at (0,611) size 784x20
        RenderText {#text} at (0,0) size 683x19
          text run at (0,0) width 683: "The square above should be half as wide as the image's parent element (either the BODY or the table cell)."
      RenderBlock {P} at (0,647) size 392x100
        RenderText {#text} at (0,0) size 391x79
          text run at (0,0) width 391: "This paragraph should be half the width of its parent element"
          text run at (0,20) width 386: "(either the BODY or the table, which should itself be half as"
          text run at (0,40) width 189: "wide as the BODY element). "
          text run at (188,40) width 184: "This is extra text included to"
          text run at (0,60) width 254: "ensure that this will be a fair test of the "
        RenderInline {CODE} at (0,0) size 40x14
          RenderText {#text} at (253,65) size 40x14
            text run at (253,65) width 40: "width"
        RenderText {#text} at (292,60) size 379x39
          text run at (292,60) width 59: " property"
          text run at (0,80) width 379: "without the need for the user to resize the viewing window."
      RenderTable {TABLE} at (0,763) size 392x617 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 390x615
          RenderTableRow {TR} at (0,0) size 390x28
            RenderTableCell {TD} at (0,0) size 391x28 [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 390x587
            RenderTableCell {TD} at (0,307) size 13x29 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x20
                text run at (4,5) width 4: " "
            RenderTableCell {TD} at (12,28) size 379x587 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock (anonymous) at (4,4) size 370x50
                RenderImage {IMG} at (0,0) size 50x50
                RenderText {#text} at (0,0) size 0x0
              RenderBlock {P} at (4,70) size 370x20
                RenderText {#text} at (0,0) size 292x19
                  text run at (0,0) width 292: "The square above should be fifty pixels wide."
              RenderBlock (anonymous) at (4,106) size 370x185
                RenderImage {IMG} at (0,0) size 185x185
                RenderText {#text} at (0,0) size 0x0
              RenderBlock {P} at (4,307) size 370x40
                RenderText {#text} at (0,0) size 353x39
                  text run at (0,0) width 353: "The square above should be half as wide as the image's"
                  text run at (0,20) width 326: "parent element (either the BODY or the table cell)."
              RenderBlock {P} at (4,363) size 185x220
                RenderText {#text} at (0,0) size 182x179
                  text run at (0,0) width 163: "This paragraph should be"
                  text run at (0,20) width 170: "half the width of its parent"
                  text run at (0,40) width 170: "element (either the BODY"
                  text run at (0,60) width 166: "or the table, which should"
                  text run at (0,80) width 174: "itself be half as wide as the"
                  text run at (0,100) width 113: "BODY element). "
                  text run at (112,100) width 44: "This is"
                  text run at (0,120) width 182: "extra text included to ensure"
                  text run at (0,140) width 180: "that this will be a fair test of"
                  text run at (0,160) width 24: "the "
                RenderInline {CODE} at (0,0) size 40x14
                  RenderText {#text} at (23,165) size 40x14
                    text run at (23,165) width 40: "width"
                RenderText {#text} at (62,160) size 175x59
                  text run at (62,160) width 112: " property without"
                  text run at (0,180) width 148: "the need for the user to"
                  text run at (0,200) width 175: "resize the viewing window."
