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,10) size 1x18
        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,10) size 1x18
        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,0) size 1x18
          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,0) size 1x18
          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,10) size 1x18
        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,10) size 1x18
        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,0) size 1x18
          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,0) size 1x18
          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,10) size 1x18
        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,10) size 1x18
        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,0) size 1x18
          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,0) size 1x18
          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,10) size 1x18
        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,10) size 1x18
        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,0) size 1x18
          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,0) size 1x18
          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."
