layer at (0,0) size 800x852
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x852
  RenderBlock {HTML} at (0,0) size 800x852
    RenderBody {BODY} at (8,32) size 784x788
      RenderBlock {P} at (32,0) size 720x121 [color=#000080]
        RenderText {#text} at (0,5) size 679x115
          text run at (0,5) width 679: "\x{21E9} The following blue box should be exactly half the"
          text run at (0,46) width 81: "width "
          text run at (80,46) width 559: "of the viewport, on the left of the 50% ruler"
          text run at (0,84) width 74: "mark."
      RenderBlock (floating) {DIV} at (0,153) size 392x380 [color=#FFFFFF] [bgcolor=#0000FF]
        RenderText {#text} at (0,0) size 393x379
          text run at (0,0) width 392: "ignore this float text ignore this float text ignore this"
          text run at (0,20) width 43: "float "
          text run at (42,20) width 350: "text ignore this float text ignore this float text"
          text run at (0,40) width 82: "ignore this "
          text run at (81,40) width 311: "float text ignore this float text ignore this"
          text run at (0,60) width 129: "float text ignore "
          text run at (128,60) width 264: "this float text ignore this float text"
          text run at (0,80) width 159: "ignore this float text "
          text run at (158,80) width 234: "ignore this float text ignore this"
          text run at (0,100) width 203: "float text ignore this float "
          text run at (202,100) width 190: "text ignore this float text"
          text run at (0,120) width 241: "ignore this float text ignore this "
          text run at (240,120) width 152: "float text ignore this"
          text run at (0,140) width 289: "float text ignore this float text ignore "
          text run at (288,140) width 104: "this float text"
          text run at (0,160) width 318: "ignore this float text ignore this float text "
          text run at (317,160) width 75: "ignore this"
          text run at (0,180) width 364: "float text ignore this float text ignore this float "
          text run at (363,180) width 29: "text"
          text run at (0,200) width 392: "ignore this float text ignore this float text ignore this"
          text run at (0,220) width 392: "float text ignore this float text ignore this float text"
          text run at (0,240) width 50: "ignore "
          text run at (49,240) width 343: "this float text ignore this float text ignore this"
          text run at (0,260) width 79: "float text "
          text run at (78,260) width 314: "ignore this float text ignore this float text"
          text run at (0,280) width 124: "ignore this float "
          text run at (123,280) width 269: "text ignore this float text ignore this"
          text run at (0,300) width 161: "float text ignore this "
          text run at (160,300) width 232: "float text ignore this float text"
          text run at (0,320) width 209: "ignore this float text ignore "
          text run at (208,320) width 184: "this float text ignore this"
          text run at (0,340) width 239: "float text ignore this float text "
          text run at (238,340) width 155: "ignore this float text"
          text run at (0,360) width 257: "ignore this float text ignore this float"
      RenderBlock {DIV} at (0,153) size 784x520 [color=#C0C0C0]
        RenderText {#text} at (392,0) size 785x519
          text run at (392,0) width 392: "this is some dummy text this is some dummy text this is"
          text run at (392,20) width 99: "some dummy "
          text run at (490,20) width 294: "text this is some dummy text this is some"
          text run at (392,40) width 172: "dummy text this is some "
          text run at (563,40) width 221: "dummy text this is some dummy"
          text run at (392,60) width 234: "text this is some dummy text this is "
          text run at (625,60) width 159: "some dummy text this is"
          text run at (392,80) width 309: "some dummy text this is some dummy text "
          text run at (700,80) width 84: "this is some"
          text run at (392,100) width 392: "dummy text this is some dummy text this is some dummy"
          text run at (392,120) width 392: "text this is some dummy text this is some dummy text this is"
          text run at (392,140) width 42: "some "
          text run at (433,140) width 351: "dummy text this is some dummy text this is some"
          text run at (392,160) width 132: "dummy text this is "
          text run at (523,160) width 261: "some dummy text this is some dummy"
          text run at (392,180) width 192: "text this is some dummy text "
          text run at (583,180) width 201: "this is some dummy text this is"
          text run at (392,200) width 278: "some dummy text this is some dummy "
          text run at (669,200) width 115: "text this is some"
          text run at (392,220) width 344: "dummy text this is some dummy text this is some "
          text run at (735,220) width 49: "dummy"
          text run at (392,240) width 392: "text this is some dummy text this is some dummy text this is"
          text run at (392,260) width 392: "some dummy text this is some dummy text this is some"
          text run at (392,280) width 86: "dummy text "
          text run at (477,280) width 307: "this is some dummy text this is some dummy"
          text run at (392,300) width 163: "text this is some dummy "
          text run at (554,300) width 230: "text this is some dummy text this is"
          text run at (392,320) width 221: "some dummy text this is some "
          text run at (612,320) width 172: "dummy text this is some"
          text run at (392,340) width 304: "dummy text this is some dummy text this is "
          text run at (695,340) width 89: "some dummy"
          text run at (392,360) width 354: "text this is some dummy text this is some dummy text "
          text run at (745,360) width 40: "this is"
          text run at (0,380) width 412: "some dummy text this is some dummy text this is some dummy "
          text run at (411,380) width 373: "text this is some dummy text this is some dummy text this"
          text run at (0,400) width 54: "is some "
          text run at (53,400) width 452: "dummy text this is some dummy text this is some dummy text this is "
          text run at (504,400) width 280: "some dummy text this is some dummy text"
          text run at (0,420) width 164: "this is some dummy text "
          text run at (163,420) width 463: "this is some dummy text this is some dummy text this is some dummy "
          text run at (625,420) width 159: "text this is some dummy"
          text run at (0,440) width 284: "text this is some dummy text this is some "
          text run at (283,440) width 468: "dummy text this is some dummy text this is some dummy text this is "
          text run at (750,440) width 34: "some"
          text run at (0,460) width 415: "dummy text this is some dummy text this is some dummy text "
          text run at (414,460) width 370: "this is some dummy text this is some dummy text this is"
          text run at (0,480) width 91: "some dummy "
          text run at (90,480) width 430: "text this is some dummy text this is some dummy text this is some "
          text run at (519,480) width 265: "dummy text this is some dummy text this"
          text run at (0,500) width 176: "is some dummy text this is "
          text run at (175,500) width 276: "some dummy text this is some dummy text"
      RenderBlock {P} at (32,705) size 720x83 [color=#000080]
        RenderText {#text} at (33,1) size 687x78
          text run at (33,1) width 687: "The above gray text should flow around the blue box."
          text run at (688,43) width 32: "\x{21E7}"
