layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x449
  RenderBlock {HTML} at (0,0) size 800x449
    RenderBody {BODY} at (8,16) size 784x417
      RenderBlock {P} at (0,0) size 784x40
        RenderText {#text} at (0,0) size 177x19
          text run at (0,0) width 177: "This is a regression test for "
        RenderInline {I} at (0,0) size 750x39
          RenderInline {A} at (0,0) size 354x19 [color=#0000EE]
            RenderText {#text} at (176,0) size 354x19
              text run at (176,0) width 354: "http://bugzilla.opendarwin.org/show_bug.cgi?id=9122"
          RenderText {#text} at (529,0) size 750x39
            text run at (529,0) width 5: " "
            text run at (533,0) width 217: "REGRESSION: Incorrect vertical"
            text run at (0,20) width 313: "position for text fields in a \"display: table\" block"
        RenderText {#text} at (312,20) size 5x19
          text run at (312,20) width 5: "."
      RenderBlock {P} at (0,56) size 784x40
        RenderText {#text} at (0,0) size 754x39
          text run at (0,0) width 754: "Type something in the text field. Resize the window. The text field should not jump down. Delete what you typed and"
          text run at (0,20) width 325: "resize the window. The text field should not move."
      RenderBlock {FORM} at (0,112) size 784x305
        RenderTable {DL} at (0,0) size 165x25
          RenderTableSection (anonymous) at (0,0) size 165x25
            RenderTableRow {DIV} at (0,0) size 165x25
              RenderTableCell {DT} at (0,1) size 25x20 [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x19
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,0) size 141x25 [r=0 c=1 rs=1 cs=1]
                RenderTextControl {INPUT} at (2,2) size 136x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
        RenderBlock {HR} at (0,41) size 784x2 [border: (1px inset #000000)]
        RenderBlock {P} at (0,59) size 784x40
          RenderText {#text} at (0,0) size 771x39
            text run at (0,0) width 771: "And here's more. There should not be a difference in distance between the labels, nor any difference in distance between"
            text run at (0,20) width 92: "the text fields."
        RenderTable {DL} at (0,115) size 237x190
          RenderTableSection (anonymous) at (0,0) size 237x190
            RenderTableRow {DIV} at (0,0) size 237x25
              RenderTableCell {DT} at (0,1) size 25x20 [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x19
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,0) size 213x25 [r=0 c=1 rs=1 cs=1]
                RenderTextControl {INPUT} at (2,2) size 136x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
            RenderTableRow {DIV} at (0,25) size 237x25
              RenderTableCell {DT} at (0,26) size 25x20 [r=1 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x19
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,25) size 213x25 [r=1 c=1 rs=1 cs=1]
                RenderTextControl {INPUT} at (2,2) size 136x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
            RenderTableRow {DIV} at (0,50) size 237x25
              RenderTableCell {DT} at (0,51) size 25x20 [r=2 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x19
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,50) size 213x25 [r=2 c=1 rs=1 cs=1]
                RenderTextControl {INPUT} at (2,2) size 136x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
            RenderTableRow {DIV} at (0,75) size 237x25
              RenderTableCell {DT} at (0,76) size 25x20 [r=3 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x19
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,75) size 213x25 [r=3 c=1 rs=1 cs=1]
                RenderTextControl {INPUT} at (2,2) size 136x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
            RenderTableRow {DIV} at (0,100) size 237x25
              RenderTableCell {DT} at (0,101) size 25x20 [r=4 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x19
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,100) size 213x25 [r=4 c=1 rs=1 cs=1]
                RenderTextControl {INPUT} at (2,2) size 136x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
            RenderTableRow {DIV} at (0,125) size 237x25
              RenderTableCell {DT} at (0,126) size 25x20 [r=5 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x19
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,125) size 213x25 [r=5 c=1 rs=1 cs=1]
                RenderTextControl {INPUT} at (2,2) size 136x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
            RenderTableRow {DIV} at (0,150) size 237x40
              RenderTableCell {DT} at (0,170) size 25x20 [r=6 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x19
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,150) size 213x40 [r=6 c=1 rs=1 cs=1]
                RenderBlock {DIV} at (0,0) size 212x40
                  RenderBR {BR} at (0,0) size 0x19
                  RenderText {#text} at (0,20) size 212x19
                    text run at (0,20) width 212: "Bar (should be aligned with Foo)"
layer at (41,133) size 122x14
  RenderBlock {DIV} at (6,3) size 123x15
layer at (41,248) size 122x14
  RenderBlock {DIV} at (6,3) size 123x15
layer at (41,273) size 122x14
  RenderBlock {DIV} at (6,3) size 123x15
layer at (41,298) size 122x14
  RenderBlock {DIV} at (6,3) size 123x15
    RenderText {#text} at (0,0) size 18x14
      text run at (0,0) width 18: "Bar"
layer at (41,323) size 122x14
  RenderBlock {DIV} at (6,3) size 123x15
    RenderText {#text} at (0,0) size 18x14
      text run at (0,0) width 18: "Bar"
layer at (41,348) size 122x14
  RenderBlock {DIV} at (6,3) size 123x15
layer at (41,373) size 122x14
  RenderBlock {DIV} at (6,3) size 123x15
