layer at (0,0) size 785x1342
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1342
  RenderBlock {HTML} at (0,0) size 785x1342
    RenderBody {BODY} at (8,8) size 769x1326 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 355x17
          text run at (0,0) width 355: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x45
        RenderText {#text} at (0,0) size 152x45
          text run at (0,0) width 152: ".one {width: 50px;}"
          text run at (0,15) width 144: ".two {width: 50%;}"
          text run at (0,30) width 152: "TABLE {width: 50%;}"
      RenderBlock {HR} at (0,92) size 769x2 [border: (1px inset #000000)]
      RenderBlock (anonymous) at (0,102) size 769x50
        RenderImage {IMG} at (0,0) size 50x50
        RenderText {#text} at (0,0) size 0x0
      RenderBlock {P} at (0,168) size 769x18
        RenderText {#text} at (0,0) size 287x17
          text run at (0,0) width 287: "The square above should be fifty pixels wide."
      RenderBlock (anonymous) at (0,202) size 769x385
        RenderImage {IMG} at (0,0) size 385x385
        RenderText {#text} at (0,0) size 0x0
      RenderBlock {P} at (0,603) size 769x18
        RenderText {#text} at (0,0) size 671x17
          text run at (0,0) width 671: "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,637) size 385x90
        RenderText {#text} at (0,0) size 382x71
          text run at (0,0) width 382: "This paragraph should be half the width of its parent element"
          text run at (0,18) width 379: "(either the BODY or the table, which should itself be half as"
          text run at (0,36) width 188: "wide as the BODY element). "
          text run at (188,36) width 178: "This is extra text included to"
          text run at (0,54) width 246: "ensure that this will be a fair test of the "
        RenderInline {CODE} at (0,0) size 40x15
          RenderText {#text} at (246,57) size 40x15
            text run at (246,57) width 40: "width"
        RenderText {#text} at (286,54) size 374x35
          text run at (286,54) width 57: " property"
          text run at (0,72) width 374: "without the need for the user to resize the viewing window."
      RenderTable {TABLE} at (0,743) size 385x583 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 383x581
          RenderTableRow {TR} at (0,0) size 383x26
            RenderTableCell {TD} at (0,0) size 383x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 163x17
                RenderText {#text} at (4,4) size 163x17
                  text run at (4,4) width 163: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 383x555
            RenderTableCell {TD} at (0,290) size 12x27 [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,5) width 4: " "
            RenderTableCell {TD} at (12,26) size 371x555 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock (anonymous) at (4,4) size 363x50
                RenderImage {IMG} at (0,0) size 50x50
                RenderText {#text} at (0,0) size 0x0
              RenderBlock {P} at (4,70) size 363x18
                RenderText {#text} at (0,0) size 287x17
                  text run at (0,0) width 287: "The square above should be fifty pixels wide."
              RenderBlock (anonymous) at (4,104) size 363x181
                RenderImage {IMG} at (0,0) size 182x181
                RenderText {#text} at (0,0) size 0x0
              RenderBlock {P} at (4,301) size 363x36
                RenderText {#text} at (0,0) size 348x35
                  text run at (0,0) width 348: "The square above should be half as wide as the image's"
                  text run at (0,18) width 319: "parent element (either the BODY or the table cell)."
              RenderBlock {P} at (4,353) size 182x198
                RenderText {#text} at (0,0) size 177x161
                  text run at (0,0) width 160: "This paragraph should be"
                  text run at (0,18) width 165: "half the width of its parent"
                  text run at (0,36) width 167: "element (either the BODY"
                  text run at (0,54) width 163: "or the table, which should"
                  text run at (0,72) width 169: "itself be half as wide as the"
                  text run at (0,90) width 113: "BODY element). "
                  text run at (113,90) width 42: "This is"
                  text run at (0,108) width 177: "extra text included to ensure"
                  text run at (0,126) width 174: "that this will be a fair test of"
                  text run at (0,144) width 23: "the "
                RenderInline {CODE} at (0,0) size 40x15
                  RenderText {#text} at (23,147) size 40x15
                    text run at (23,147) width 40: "width"
                RenderText {#text} at (63,144) size 174x53
                  text run at (63,144) width 109: " property without"
                  text run at (0,162) width 144: "the need for the user to"
                  text run at (0,180) width 174: "resize the viewing window."
