layer at (0,0) size 785x2495
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x2495
  RenderBlock {HTML} at (0,0) size 785x2495
    RenderBody {BODY} at (8,8) size 769x2479
      RenderBlock (anonymous) at (0,0) size 769x36
        RenderText {#text} at (0,0) size 765x35
          text run at (0,0) width 538: "Test of objects that avoid floats to see what they do with percentage and auto widths. "
          text run at (538,0) width 227: "This test is designed to illustrate that"
          text run at (0,18) width 447: "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 507x17
          text run at (0,0) width 507: "The inline-level button should be below the select and fill the width of the block."
      RenderBlock {P} at (0,88) size 220x103 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x17
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (70,10) size 0x17
        RenderMenuList {SELECT} at (10,30) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
          RenderBlock (anonymous) at (1,1) size 98x28
            RenderText at (5,5) size 27x17
              text run at (5,5) width 27: "One"
        RenderText {#text} at (0,0) size 0x0
        RenderButton {INPUT} at (10,64) size 200x27 [color=#2E3436] [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
          RenderBlock (anonymous) at (8,4) size 184x18
            RenderText at (84,0) size 16x17
              text run at (84,0) width 16: "Hi"
        RenderText {#text} at (0,0) size 0x0
      RenderBlock (anonymous) at (0,207) size 769x18
        RenderText {#text} at (0,0) size 473x17
          text run at (0,0) width 473: "The floating button with a percentage width should be even with the select."
      RenderBlock {P} at (0,241) size 220x72 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x17
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (70,10) size 0x17
        RenderMenuList {SELECT} at (10,30) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
          RenderBlock (anonymous) at (1,1) size 98x28
            RenderText at (5,5) size 27x17
              text run at (5,5) width 27: "One"
        RenderText {#text} at (0,0) size 0x0
        RenderButton {INPUT} at (110,30) size 100x27 [color=#2E3436] [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
          RenderBlock (anonymous) at (8,4) size 84x18
            RenderText at (34,0) size 16x17
              text run at (34,0) width 16: "Hi"
        RenderText {#text} at (0,0) size 0x0
        RenderBR {BR} at (210,28) size 0x17
      RenderBlock (anonymous) at (0,329) size 769x18
        RenderText {#text} at (0,0) size 462x17
          text run at (0,0) width 462: "The block-level button with an auto width should be even with the select."
      RenderBlock {P} at (0,363) size 220x87 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x17
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (60,0) size 0x17
          RenderMenuList {SELECT} at (0,20) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
            RenderBlock (anonymous) at (1,1) size 98x28
              RenderText at (5,5) size 27x17
                text run at (5,5) width 27: "One"
          RenderText {#text} at (0,0) size 0x0
        RenderButton {INPUT} at (110,30) size 32x27 [color=#2E3436] [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
          RenderBlock (anonymous) at (8,4) size 16x18
            RenderText at (0,0) size 16x17
              text run at (0,0) width 16: "Hi"
        RenderBlock (anonymous) at (10,59) size 200x18
          RenderBR {BR} at (100,0) size 0x17
      RenderBlock (anonymous) at (0,466) size 769x18
        RenderText {#text} at (0,0) size 495x17
          text run at (0,0) width 495: "The block-level button with a percentage width should be even with the select."
      RenderBlock {P} at (0,500) size 220x87 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x17
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (60,0) size 0x17
          RenderMenuList {SELECT} at (0,20) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
            RenderBlock (anonymous) at (1,1) size 98x28
              RenderText at (5,5) size 27x17
                text run at (5,5) width 27: "One"
          RenderText {#text} at (0,0) size 0x0
        RenderButton {INPUT} at (110,30) size 100x27 [color=#2E3436] [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
          RenderBlock (anonymous) at (8,4) size 84x18
            RenderText at (34,0) size 16x17
              text run at (34,0) width 16: "Hi"
        RenderBlock (anonymous) at (10,59) size 200x18
          RenderBR {BR} at (100,0) size 0x17
      RenderBlock (anonymous) at (0,603) size 769x18
        RenderText {#text} at (0,0) size 463x17
          text run at (0,0) width 463: "The floating table with a percentage width should be even with the select."
      RenderBlock {P} at (0,637) size 220x72 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x17
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (70,10) size 0x17
        RenderMenuList {SELECT} at (10,30) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
          RenderBlock (anonymous) at (1,1) size 98x28
            RenderText at (5,5) size 27x17
              text run at (5,5) width 27: "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 36x17
                  text run at (2,2) width 36: "Table"
        RenderText {#text} at (0,0) size 0x0
        RenderBR {BR} at (210,28) size 0x17
      RenderBlock (anonymous) at (0,725) size 769x36
        RenderText {#text} at (0,0) size 755x35
          text run at (0,0) width 755: "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 166: "CURRENTLY BUGGY."
      RenderBlock {P} at (0,777) size 220x138 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x17
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (70,10) size 0x17
        RenderMenuList {SELECT} at (10,30) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
          RenderBlock (anonymous) at (1,1) size 98x28
            RenderText at (5,5) size 27x17
              text run at (5,5) width 27: "One"
        RenderText {#text} at (0,0) size 0x0
        RenderTable {TABLE} at (10,62) 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 161x53
                  text run at (2,2) width 159: "Floating table that should"
                  text run at (2,20) width 161: "shrink so it can be next to"
                  text run at (2,38) width 90: "previous float."
        RenderText {#text} at (0,0) size 0x0
        RenderBR {BR} at (110,28) size 0x17
      RenderBlock (anonymous) at (0,931) size 769x18
        RenderText {#text} at (0,0) size 730x17
          text run at (0,0) width 578: "The block-level table below has a percentage width and should still be even with the select. "
          text run at (578,0) width 152: "It spills out of the block."
      RenderBlock {P} at (0,965) size 220x156 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x17
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (60,0) size 0x17
          RenderMenuList {SELECT} at (0,20) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
            RenderBlock (anonymous) at (1,1) size 98x28
              RenderText at (5,5) size 27x17
                text run at (5,5) width 27: "One"
          RenderText {#text} at (0,0) size 0x0
        RenderTable {TABLE} at (10,62) 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 161x53
                  text run at (2,2) width 159: "Floating table that should"
                  text run at (2,20) width 161: "shrink so it can be next to"
                  text run at (2,38) width 90: "previous float."
        RenderBlock (anonymous) at (10,128) size 200x18
          RenderBR {BR} at (0,0) size 0x17
      RenderBlock (anonymous) at (0,1137) size 769x18
        RenderText {#text} at (0,0) size 743x17
          text run at (0,0) width 545: "The block-level table below has an auto width and should still be even with the select. "
          text run at (545,0) width 198: "It shrinks to fit inside the block."
      RenderBlock {P} at (0,1171) size 220x176 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x17
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (60,0) size 0x17
          RenderMenuList {SELECT} at (0,20) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
            RenderBlock (anonymous) at (1,1) size 98x28
              RenderText at (5,5) size 27x17
                text run at (5,5) width 27: "One"
          RenderText {#text} at (0,0) size 0x0
        RenderTable {TABLE} at (110,28) size 100x120 [border: (2px outset #808080)]
          RenderTableSection {TBODY} at (2,2) size 96x116
            RenderTableRow {TR} at (0,2) size 96x112
              RenderTableCell {TD} at (2,2) size 92x112 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (2,2) size 88x107
                  text run at (2,2) width 86: "Floating table"
                  text run at (2,20) width 69: "that should"
                  text run at (2,38) width 69: "shrink so it"
                  text run at (2,56) width 88: "can be next to"
                  text run at (2,74) width 54: "previous"
                  text run at (2,92) width 32: "float."
        RenderBlock (anonymous) at (10,148) size 200x18
          RenderBR {BR} at (0,0) size 0x17
      RenderBlock (anonymous) at (0,1363) size 769x18
        RenderText {#text} at (0,0) size 538x17
          text run at (0,0) width 538: "The floating overflow section with a percentage width should be even with the select."
      RenderBlock {DIV} at (0,1381) size 220x146 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x17
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (70,10) size 0x17
        RenderMenuList {SELECT} at (10,30) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
          RenderBlock (anonymous) at (1,1) size 98x28
            RenderText at (5,5) size 27x17
              text run at (5,5) width 27: "One"
        RenderText {#text} at (0,0) size 0x0
        RenderText {#text} at (0,0) size 0x0
        RenderBR {BR} at (210,28) size 0x17
      RenderBlock (anonymous) at (0,1527) size 769x36
        RenderText {#text} at (0,0) size 728x35
          text run at (0,0) width 728: "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 268: "width. THIS IS CURRENTLY BUGGY."
      RenderBlock {DIV} at (0,1563) size 220x126 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x17
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (70,10) size 0x17
        RenderMenuList {SELECT} at (10,30) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
          RenderBlock (anonymous) at (1,1) size 98x28
            RenderText at (5,5) size 27x17
              text run at (5,5) width 27: "One"
        RenderText {#text} at (0,0) size 0x0
        RenderText {#text} at (0,0) size 0x0
        RenderBR {BR} at (110,28) size 0x17
      RenderBlock (anonymous) at (0,1689) size 769x18
        RenderText {#text} at (0,0) size 649x17
          text run at (0,0) width 649: "The block-level overflow section below has a percentage width and should still be even with the select."
      RenderBlock {DIV} at (0,1707) size 220x164 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x17
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (60,0) size 0x17
          RenderMenuList {SELECT} at (0,20) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
            RenderBlock (anonymous) at (1,1) size 98x28
              RenderText at (5,5) size 27x17
                text run at (5,5) width 27: "One"
          RenderText {#text} at (0,0) size 0x0
        RenderBlock (anonymous) at (10,136) size 200x18
          RenderBR {BR} at (0,0) size 0x17
      RenderBlock (anonymous) at (0,1871) size 769x36
        RenderText {#text} at (0,0) size 752x35
          text run at (0,0) width 620: "The block-level overflow section below has an auto width and should still be even with the select. "
          text run at (620,0) width 132: "It shrinks to fit inside"
          text run at (0,18) width 62: "the block."
      RenderBlock {DIV} at (0,1907) size 220x164 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x17
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (60,0) size 0x17
          RenderMenuList {SELECT} at (0,20) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
            RenderBlock (anonymous) at (1,1) size 98x28
              RenderText at (5,5) size 27x17
                text run at (5,5) width 27: "One"
          RenderText {#text} at (0,0) size 0x0
        RenderBlock (anonymous) at (10,136) size 200x18
          RenderBR {BR} at (0,0) size 0x17
      RenderBlock (anonymous) at (0,2071) size 769x18
        RenderText {#text} at (0,0) size 446x17
          text run at (0,0) width 446: "The floating hr with a percentage width should be even with the select."
      RenderBlock {DIV} at (0,2089) size 220x72 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x17
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (70,10) size 0x17
        RenderMenuList {SELECT} at (10,30) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
          RenderBlock (anonymous) at (1,1) size 98x28
            RenderText at (5,5) size 27x17
              text run at (5,5) width 27: "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 0x17
      RenderBlock (anonymous) at (0,2161) size 769x36
        RenderText {#text} at (0,0) size 750x35
          text run at (0,0) width 750: "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 33: "2px)."
      RenderBlock {DIV} at (0,2197) size 220x72 [border: (10px solid #FF0000)]
        RenderText {#text} at (10,10) size 60x17
          text run at (10,10) width 60: "Line One"
        RenderBR {BR} at (70,10) size 0x17
        RenderMenuList {SELECT} at (10,30) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
          RenderBlock (anonymous) at (1,1) size 98x28
            RenderText at (5,5) size 27x17
              text run at (5,5) width 27: "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 0x17
      RenderBlock (anonymous) at (0,2269) size 769x18
        RenderText {#text} at (0,0) size 557x17
          text run at (0,0) width 557: "The block-level hr below has a percentage width and should still be even with the select."
      RenderBlock {DIV} at (0,2287) size 220x100 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x17
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (60,0) size 0x17
          RenderMenuList {SELECT} at (0,20) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
            RenderBlock (anonymous) at (1,1) size 98x28
              RenderText at (5,5) size 27x17
                text run at (5,5) width 27: "One"
          RenderText {#text} at (0,0) size 0x0
        RenderBlock {HR} at (10,62) size 202x2 [border: (1px inset #000000)]
        RenderBlock (anonymous) at (10,72) size 200x18
          RenderBR {BR} at (0,0) size 0x17
      RenderBlock (anonymous) at (0,2387) size 769x18
        RenderText {#text} at (0,0) size 623x17
          text run at (0,0) width 528: "The block-level hr below has an auto width and should still be even with the select. "
          text run at (528,0) width 95: "It shrinks to fit."
      RenderBlock {DIV} at (0,2405) size 220x74 [border: (10px solid #FF0000)]
        RenderBlock (anonymous) at (10,10) size 200x18
          RenderText {#text} at (0,0) size 60x17
            text run at (0,0) width 60: "Line One"
          RenderBR {BR} at (60,0) size 0x17
          RenderMenuList {SELECT} at (0,20) size 100x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
            RenderBlock (anonymous) at (1,1) size 98x28
              RenderText at (5,5) size 27x17
                text run at (5,5) width 27: "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 0x17
layer at (118,1417) size 100x108
  RenderBlock (floating) {DIV} at (110,28) size 100x108
    RenderText {#text} at (0,0) size 98x107
      text run at (0,0) width 61: "This is an"
      text run at (0,18) width 57: "overflow"
      text run at (0,36) width 76: "section with"
      text run at (0,54) width 90: "enough text to"
      text run at (0,72) width 98: "have to wrap to"
      text run at (0,90) width 88: "multiple lines."
layer at (18,1633) size 200x54
  RenderBlock (floating) {DIV} at (10,62) size 200x54
    RenderText {#text} at (0,0) size 172x53
      text run at (0,0) width 170: "This is an overflow section"
      text run at (0,18) width 172: "with enough text to have to"
      text run at (0,36) width 140: "wrap to multiple lines."
layer at (118,1743) size 100x108
  RenderBlock {DIV} at (110,28) size 100x108
    RenderText {#text} at (0,0) size 98x107
      text run at (0,0) width 61: "This is an"
      text run at (0,18) width 57: "overflow"
      text run at (0,36) width 76: "section with"
      text run at (0,54) width 90: "enough text to"
      text run at (0,72) width 98: "have to wrap to"
      text run at (0,90) width 88: "multiple lines."
layer at (118,1943) size 100x108
  RenderBlock {DIV} at (110,28) size 100x108
    RenderText {#text} at (0,0) size 98x107
      text run at (0,0) width 61: "This is an"
      text run at (0,18) width 57: "overflow"
      text run at (0,36) width 76: "section with"
      text run at (0,54) width 90: "enough text to"
      text run at (0,72) width 98: "have to wrap to"
      text run at (0,90) width 88: "multiple lines."
