layer at (0,0) size 785x1378
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1378
  RenderBlock {HTML} at (0,0) size 785x1378
    RenderBody {BODY} at (8,8) size 769x1362 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        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 769x45
        RenderText {#text} at (0,0) size 149x45
          text run at (0,0) width 149: ".one {width: 50px;}"
          text run at (0,15) width 141: ".two {width: 50%;}"
          text run at (0,30) width 149: "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 291x18
          text run at (0,0) width 291: "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 683x18
          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,637) size 385x108
        RenderText {#text} at (0,0) size 375x72
          text run at (0,0) width 336: "This paragraph should be half the width of its parent"
          text run at (0,18) width 375: "element (either the BODY or the table, which should itself"
          text run at (0,36) width 254: "be half as wide as the BODY element). "
          text run at (254,36) width 108: "This is extra text"
          text run at (0,54) width 329: "included to ensure that this will be a fair test of the "
        RenderInline {CODE} at (0,0) size 40x15
          RenderText {#text} at (328,56) size 40x15
            text run at (328,56) width 40: "width"
        RenderText {#text} at (0,72) size 379x36
          text run at (0,72) width 379: "property without the need for the user to resize the viewing"
          text run at (0,90) width 55: "window."
      RenderTable {TABLE} at (0,761) size 385x601 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 383x599
          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 161x18
                RenderText {#text} at (4,4) size 161x18
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 383x573
            RenderTableCell {TD} at (0,299) size 12x27 [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,5) width 4: " "
            RenderTableCell {TD} at (12,26) size 371x573 [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 291x18
                  text run at (0,0) width 291: "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 353x36
                  text run at (0,0) width 353: "The square above should be half as wide as the image's"
                  text run at (0,18) width 326: "parent element (either the BODY or the table cell)."
              RenderBlock {P} at (4,353) size 182x216
                RenderText {#text} at (0,0) size 174x162
                  text run at (0,0) width 163: "This paragraph should be"
                  text run at (0,18) width 170: "half the width of its parent"
                  text run at (0,36) width 170: "element (either the BODY"
                  text run at (0,54) width 166: "or the table, which should"
                  text run at (0,72) width 174: "itself be half as wide as the"
                  text run at (0,90) width 113: "BODY element). "
                  text run at (112,90) width 44: "This is"
                  text run at (0,108) width 136: "extra text included to"
                  text run at (0,126) width 156: "ensure that this will be a"
                  text run at (0,144) width 94: "fair test of the "
                RenderInline {CODE} at (0,0) size 40x15
                  RenderText {#text} at (93,146) size 40x15
                    text run at (93,146) width 40: "width"
                RenderText {#text} at (0,162) size 165x54
                  text run at (0,162) width 165: "property without the need"
                  text run at (0,180) width 155: "for the user to resize the"
                  text run at (0,198) width 111: "viewing window."
