layer at (0,0) size 785x2386
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x2386
  RenderBlock {HTML} at (0,0) size 785x2386
    RenderBody {BODY} at (8,8) size 769x2370
      RenderBlock (anonymous) at (0,0) size 769x36
        RenderText {#text} at (0,0) size 753x36
          text run at (0,0) width 546: "Test of objects that avoid floats to see what they do with percentage and auto widths. "
          text run at (545,0) width 208: "This test is designed to illustrate"
          text run at (0,18) width 482: "that we have removed the WinIE quirk and are behaving more like Firefox."
      RenderBlock {HR} at (0,44) size 769x2 [border: (1px inset #000000)]
      RenderBlock (anonymous) at (0,54) size 769x18
        RenderText {#text} at (0,0) size 517x18
          text run at (0,0) width 517: "The inline-level button should be below the select and fill the width of the block."
      RenderBlock {P} at (0,88) size 220x82 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x18
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (69,24) size 1x0
        RenderMenuList {SELECT} at (10,30) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
          RenderBlock (anonymous) at (0,0) size 100x18
            RenderText at (8,2) size 22x13
              text run at (8,2) width 22: "One"
        RenderText {#text} at (0,0) size 0x0
        RenderButton {INPUT} at (10,52) size 200x18 [color=#000000D8] [bgcolor=#C0C0C0]
          RenderBlock (anonymous) at (8,2) size 184x13
            RenderText at (86,0) size 12x13
              text run at (86,0) width 12: "Hi"
        RenderText {#text} at (0,0) size 0x0
      RenderBlock (anonymous) at (0,186) size 769x18
        RenderText {#text} at (0,0) size 481x18
          text run at (0,0) width 481: "The floating button with a percentage width should be even with the select."
      RenderBlock {P} at (0,220) size 220x60 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x18
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (69,24) size 1x0
        RenderMenuList {SELECT} at (10,30) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
          RenderBlock (anonymous) at (0,0) size 100x18
            RenderText at (8,2) size 22x13
              text run at (8,2) width 22: "One"
        RenderText {#text} at (0,0) size 0x0
        RenderButton {INPUT} at (110,30) size 100x18 [color=#000000D8] [bgcolor=#C0C0C0]
          RenderBlock (anonymous) at (8,2) size 84x13
            RenderText at (36,0) size 12x13
              text run at (36,0) width 12: "Hi"
        RenderText {#text} at (0,0) size 0x0
        RenderBR {BR} at (210,28) size 0x18
      RenderBlock (anonymous) at (0,296) size 769x18
        RenderText {#text} at (0,0) size 470x18
          text run at (0,0) width 470: "The block-level button with an auto width should be even with the select."
      RenderBlock {P} at (0,330) size 220x78 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x18
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (59,14) size 1x0
          RenderMenuList {SELECT} at (0,20) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
            RenderBlock (anonymous) at (0,0) size 100x18
              RenderText at (8,2) size 22x13
                text run at (8,2) width 22: "One"
          RenderText {#text} at (0,0) size 0x0
        RenderButton {INPUT} at (110,30) size 27x18 [color=#000000D8] [bgcolor=#C0C0C0]
          RenderBlock (anonymous) at (8,2) size 11x13
            RenderText at (0,0) size 11x13
              text run at (0,0) width 11: "Hi"
        RenderBlock (anonymous) at (10,50) size 200x18
          RenderBR {BR} at (0,0) size 0x18
      RenderBlock (anonymous) at (0,424) size 769x18
        RenderText {#text} at (0,0) size 504x18
          text run at (0,0) width 504: "The block-level button with a percentage width should be even with the select."
      RenderBlock {P} at (0,458) size 220x78 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x18
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (59,14) size 1x0
          RenderMenuList {SELECT} at (0,20) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
            RenderBlock (anonymous) at (0,0) size 100x18
              RenderText at (8,2) size 22x13
                text run at (8,2) width 22: "One"
          RenderText {#text} at (0,0) size 0x0
        RenderButton {INPUT} at (110,30) size 100x18 [color=#000000D8] [bgcolor=#C0C0C0]
          RenderBlock (anonymous) at (8,2) size 84x13
            RenderText at (36,0) size 12x13
              text run at (36,0) width 12: "Hi"
        RenderBlock (anonymous) at (10,50) size 200x18
          RenderBR {BR} at (0,0) size 0x18
      RenderBlock (anonymous) at (0,552) size 769x18
        RenderText {#text} at (0,0) size 471x18
          text run at (0,0) width 471: "The floating table with a percentage width should be even with the select."
      RenderBlock {P} at (0,586) size 220x68 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x18
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (69,24) size 1x0
        RenderMenuList {SELECT} at (10,30) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
          RenderBlock (anonymous) at (0,0) size 100x18
            RenderText at (8,2) size 22x13
              text run at (8,2) width 22: "One"
        RenderText {#text} at (0,0) size 0x0
        RenderTable {TABLE} at (110,28) size 100x30 [border: (2px outset #808080)]
          RenderTableSection {TBODY} at (2,2) size 96x26
            RenderTableRow {TR} at (0,2) size 96x22
              RenderTableCell {TD} at (2,2) size 92x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (2,2) size 36x18
                  text run at (2,2) width 36: "Table"
        RenderText {#text} at (0,0) size 0x0
        RenderBR {BR} at (210,28) size 0x18
      RenderBlock (anonymous) at (0,670) size 769x36
        RenderText {#text} at (0,0) size 768x36
          text run at (0,0) width 768: "The floating table with an auto width should be even with the select and shrinks to use the available line width. THIS IS"
          text run at (0,18) width 157: "CURRENTLY BUGGY."
      RenderBlock {P} at (0,722) size 220x126 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x18
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (69,24) size 1x0
        RenderMenuList {SELECT} at (10,30) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
          RenderBlock (anonymous) at (0,0) size 100x18
            RenderText at (8,2) size 22x13
              text run at (8,2) width 22: "One"
        RenderText {#text} at (0,0) size 0x0
        RenderTable {TABLE} at (10,50) size 200x66 [border: (2px outset #808080)]
          RenderTableSection {TBODY} at (2,2) size 196x62
            RenderTableRow {TR} at (0,2) size 196x58
              RenderTableCell {TD} at (2,2) size 192x58 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (2,2) size 165x54
                  text run at (2,2) width 164: "Floating table that should"
                  text run at (2,20) width 165: "shrink so it can be next to"
                  text run at (2,38) width 92: "previous float."
        RenderText {#text} at (0,0) size 0x0
        RenderBR {BR} at (110,28) size 0x18
      RenderBlock (anonymous) at (0,864) size 769x18
        RenderText {#text} at (0,0) size 746x18
          text run at (0,0) width 589: "The block-level table below has a percentage width and should still be even with the select. "
          text run at (588,0) width 158: "It spills out of the block."
      RenderBlock {P} at (0,898) size 220x144 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x18
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (59,14) size 1x0
          RenderMenuList {SELECT} at (0,20) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
            RenderBlock (anonymous) at (0,0) size 100x18
              RenderText at (8,2) size 22x13
                text run at (8,2) width 22: "One"
          RenderText {#text} at (0,0) size 0x0
        RenderTable {TABLE} at (10,50) size 200x66 [border: (2px outset #808080)]
          RenderTableSection {TBODY} at (2,2) size 196x62
            RenderTableRow {TR} at (0,2) size 196x58
              RenderTableCell {TD} at (2,2) size 192x58 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (2,2) size 165x54
                  text run at (2,2) width 164: "Floating table that should"
                  text run at (2,20) width 165: "shrink so it can be next to"
                  text run at (2,38) width 92: "previous float."
        RenderBlock (anonymous) at (10,116) size 200x18
          RenderBR {BR} at (0,0) size 0x18
      RenderBlock (anonymous) at (0,1058) size 769x18
        RenderText {#text} at (0,0) size 759x18
          text run at (0,0) width 555: "The block-level table below has an auto width and should still be even with the select. "
          text run at (554,0) width 205: "It shrinks to fit inside the block."
      RenderBlock {P} at (0,1092) size 220x194 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x18
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (59,14) size 1x0
          RenderMenuList {SELECT} at (0,20) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
            RenderBlock (anonymous) at (0,0) size 100x18
              RenderText at (8,2) size 22x13
                text run at (8,2) width 22: "One"
          RenderText {#text} at (0,0) size 0x0
        RenderTable {TABLE} at (110,28) size 100x138 [border: (2px outset #808080)]
          RenderTableSection {TBODY} at (2,2) size 96x134
            RenderTableRow {TR} at (0,2) size 96x130
              RenderTableCell {TD} at (2,2) size 92x130 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (2,2) size 87x126
                  text run at (2,2) width 54: "Floating"
                  text run at (2,20) width 60: "table that"
                  text run at (2,38) width 87: "should shrink"
                  text run at (2,56) width 73: "so it can be"
                  text run at (2,74) width 44: "next to"
                  text run at (2,92) width 56: "previous"
                  text run at (2,110) width 33: "float."
        RenderBlock (anonymous) at (10,166) size 200x18
          RenderBR {BR} at (0,0) size 0x18
      RenderBlock (anonymous) at (0,1302) size 769x18
        RenderText {#text} at (0,0) size 546x18
          text run at (0,0) width 546: "The floating overflow section with a percentage width should be even with the select."
      RenderBlock {DIV} at (0,1320) size 220x146 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x18
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (69,24) size 1x0
        RenderMenuList {SELECT} at (10,30) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
          RenderBlock (anonymous) at (0,0) size 100x18
            RenderText at (8,2) size 22x13
              text run at (8,2) width 22: "One"
        RenderText {#text} at (0,0) size 0x0
        RenderText {#text} at (0,0) size 0x0
        RenderBR {BR} at (210,28) size 0x18
      RenderBlock (anonymous) at (0,1466) size 769x36
        RenderText {#text} at (0,0) size 741x36
          text run at (0,0) width 741: "The floating overflow section with an auto width should be even with the select and shrinks to use the available line"
          text run at (0,18) width 259: "width. THIS IS CURRENTLY BUGGY."
      RenderBlock {DIV} at (0,1502) size 220x114 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x18
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (69,24) size 1x0
        RenderMenuList {SELECT} at (10,30) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
          RenderBlock (anonymous) at (0,0) size 100x18
            RenderText at (8,2) size 22x13
              text run at (8,2) width 22: "One"
        RenderText {#text} at (0,0) size 0x0
        RenderText {#text} at (0,0) size 0x0
        RenderBR {BR} at (110,28) size 0x18
      RenderBlock (anonymous) at (0,1616) size 769x18
        RenderText {#text} at (0,0) size 660x18
          text run at (0,0) width 660: "The block-level overflow section below has a percentage width and should still be even with the select."
      RenderBlock {DIV} at (0,1634) size 220x164 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x18
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (59,14) size 1x0
          RenderMenuList {SELECT} at (0,20) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
            RenderBlock (anonymous) at (0,0) size 100x18
              RenderText at (8,2) size 22x13
                text run at (8,2) width 22: "One"
          RenderText {#text} at (0,0) size 0x0
        RenderBlock (anonymous) at (10,136) size 200x18
          RenderBR {BR} at (0,0) size 0x18
      RenderBlock (anonymous) at (0,1798) size 769x36
        RenderText {#text} at (0,0) size 767x36
          text run at (0,0) width 631: "The block-level overflow section below has an auto width and should still be even with the select. "
          text run at (630,0) width 137: "It shrinks to fit inside"
          text run at (0,18) width 64: "the block."
      RenderBlock {DIV} at (0,1834) size 220x164 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x18
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (59,14) size 1x0
          RenderMenuList {SELECT} at (0,20) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
            RenderBlock (anonymous) at (0,0) size 100x18
              RenderText at (8,2) size 22x13
                text run at (8,2) width 22: "One"
          RenderText {#text} at (0,0) size 0x0
        RenderBlock (anonymous) at (10,136) size 200x18
          RenderBR {BR} at (0,0) size 0x18
      RenderBlock (anonymous) at (0,1998) size 769x18
        RenderText {#text} at (0,0) size 453x18
          text run at (0,0) width 453: "The floating hr with a percentage width should be even with the select."
      RenderBlock {DIV} at (0,2016) size 220x60 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x18
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (69,24) size 1x0
        RenderMenuList {SELECT} at (10,30) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
          RenderBlock (anonymous) at (0,0) size 100x18
            RenderText at (8,2) size 22x13
              text run at (8,2) width 22: "One"
        RenderText {#text} at (0,0) size 0x0
        RenderBlock (floating) {HR} at (112,30) size 82x2 [border: (1px inset #000000)]
        RenderText {#text} at (0,0) size 0x0
        RenderBR {BR} at (196,28) size 0x18
      RenderBlock (anonymous) at (0,2076) size 769x36
        RenderText {#text} at (0,0) size 767x36
          text run at (0,0) width 767: "The floating hr below should still be even with the select and shrinks to use its intrinsic width (which is basically like 1-"
          text run at (0,18) width 34: "2px)."
      RenderBlock {DIV} at (0,2112) size 220x60 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x18
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (69,24) size 1x0
        RenderMenuList {SELECT} at (10,30) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
          RenderBlock (anonymous) at (0,0) size 100x18
            RenderText at (8,2) size 22x13
              text run at (8,2) width 22: "One"
        RenderText {#text} at (0,0) size 0x0
        RenderBlock (floating) {HR} at (112,30) size 2x2 [border: (1px inset #000000)]
        RenderText {#text} at (0,0) size 0x0
        RenderBR {BR} at (116,28) size 0x18
      RenderBlock (anonymous) at (0,2172) size 769x18
        RenderText {#text} at (0,0) size 567x18
          text run at (0,0) width 567: "The block-level hr below has a percentage width and should still be even with the select."
      RenderBlock {DIV} at (0,2190) size 220x88 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x18
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (59,14) size 1x0
          RenderMenuList {SELECT} at (0,20) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
            RenderBlock (anonymous) at (0,0) size 100x18
              RenderText at (8,2) size 22x13
                text run at (8,2) width 22: "One"
          RenderText {#text} at (0,0) size 0x0
        RenderBlock {HR} at (10,50) size 202x2 [border: (1px inset #000000)]
        RenderBlock (anonymous) at (10,60) size 200x18
          RenderBR {BR} at (0,0) size 0x18
      RenderBlock (anonymous) at (0,2278) size 769x18
        RenderText {#text} at (0,0) size 635x18
          text run at (0,0) width 538: "The block-level hr below has an auto width and should still be even with the select. "
          text run at (537,0) width 98: "It shrinks to fit."
      RenderBlock {DIV} at (0,2296) size 220x74 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x18
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (59,14) size 1x0
          RenderMenuList {SELECT} at (0,20) size 100x18 [color=#000000D8] [bgcolor=#FFFFFF]
            RenderBlock (anonymous) at (0,0) size 100x18
              RenderText at (8,2) size 22x13
                text run at (8,2) width 22: "One"
          RenderText {#text} at (0,0) size 0x0
        RenderBlock {HR} at (110,36) size 100x2 [border: (1px inset #000000)]
        RenderBlock (anonymous) at (10,46) size 200x18
          RenderBR {BR} at (100,0) size 0x18
layer at (118,1356) size 100x108
  RenderBlock (floating) {DIV} at (110,28) size 100x108
    RenderText {#text} at (0,0) size 100x108
      text run at (0,0) width 63: "This is an"
      text run at (0,18) width 57: "overflow"
      text run at (0,36) width 78: "section with"
      text run at (0,54) width 92: "enough text to"
      text run at (0,72) width 100: "have to wrap to"
      text run at (0,90) width 92: "multiple lines."
layer at (18,1560) size 200x54
  RenderBlock (floating) {DIV} at (10,50) size 200x54
    RenderText {#text} at (0,0) size 175x54
      text run at (0,0) width 173: "This is an overflow section"
      text run at (0,18) width 175: "with enough text to have to"
      text run at (0,36) width 144: "wrap to multiple lines."
layer at (118,1670) size 100x108
  RenderBlock {DIV} at (110,28) size 100x108
    RenderText {#text} at (0,0) size 100x108
      text run at (0,0) width 63: "This is an"
      text run at (0,18) width 57: "overflow"
      text run at (0,36) width 78: "section with"
      text run at (0,54) width 92: "enough text to"
      text run at (0,72) width 100: "have to wrap to"
      text run at (0,90) width 92: "multiple lines."
layer at (118,1870) size 100x108
  RenderBlock {DIV} at (110,28) size 100x108
    RenderText {#text} at (0,0) size 100x108
      text run at (0,0) width 63: "This is an"
      text run at (0,18) width 57: "overflow"
      text run at (0,36) width 78: "section with"
      text run at (0,54) width 92: "enough text to"
      text run at (0,72) width 100: "have to wrap to"
      text run at (0,90) width 92: "multiple lines."
