layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x419
  RenderBlock {HTML} at (0,0) size 800x419
    RenderBody {BODY} at (8,16) size 784x387
      RenderBlock {P} at (0,0) size 784x36
        RenderText {#text} at (0,0) size 177x18
          text run at (0,0) width 177: "This is a regression test for "
        RenderInline {I} at (0,0) size 750x36
          RenderInline {A} at (0,0) size 354x18 [color=#0000EE]
            RenderText {#text} at (176,0) size 354x18
              text run at (176,0) width 354: "http://bugzilla.opendarwin.org/show_bug.cgi?id=9122"
          RenderText {#text} at (529,0) size 750x36
            text run at (529,0) width 5: " "
            text run at (533,0) width 217: "REGRESSION: Incorrect vertical"
            text run at (0,18) width 312: "position for text fields in a \"display: table\" block"
        RenderText {#text} at (311,18) size 5x18
          text run at (311,18) width 5: "."
      RenderBlock {P} at (0,52) size 784x36
        RenderText {#text} at (0,0) size 752x36
          text run at (0,0) width 752: "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,18) width 324: "resize the window. The text field should not move."
      RenderBlock {FORM} at (0,104) size 784x283
        RenderTable {DL} at (0,0) size 176x23
          RenderTableSection (anonymous) at (0,0) size 176x23
            RenderTableRow {DIV} at (0,0) size 176x23
              RenderTableCell {DT} at (0,2) size 25x18 [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x18
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,0) size 152x23 [r=0 c=1 rs=1 cs=1]
                RenderTextControl {INPUT} at (2,2) size 147x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
        RenderBlock {HR} at (0,39) size 784x2 [border: (1px inset #000000)]
        RenderBlock {P} at (0,57) size 784x36
          RenderText {#text} at (0,0) size 771x36
            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,18) width 91: "the text fields."
        RenderTable {DL} at (0,109) size 237x174
          RenderTableSection (anonymous) at (0,0) size 237x174
            RenderTableRow {DIV} at (0,0) size 237x23
              RenderTableCell {DT} at (0,2) size 25x18 [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x18
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,0) size 213x23 [r=0 c=1 rs=1 cs=1]
                RenderTextControl {INPUT} at (2,2) size 147x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
            RenderTableRow {DIV} at (0,23) size 237x23
              RenderTableCell {DT} at (0,25) size 25x18 [r=1 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x18
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,23) size 213x23 [r=1 c=1 rs=1 cs=1]
                RenderTextControl {INPUT} at (2,2) size 147x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
            RenderTableRow {DIV} at (0,46) size 237x23
              RenderTableCell {DT} at (0,48) size 25x18 [r=2 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x18
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,46) size 213x23 [r=2 c=1 rs=1 cs=1]
                RenderTextControl {INPUT} at (2,2) size 147x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
            RenderTableRow {DIV} at (0,69) size 237x23
              RenderTableCell {DT} at (0,71) size 25x18 [r=3 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x18
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,69) size 213x23 [r=3 c=1 rs=1 cs=1]
                RenderTextControl {INPUT} at (2,2) size 147x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
            RenderTableRow {DIV} at (0,92) size 237x23
              RenderTableCell {DT} at (0,94) size 25x18 [r=4 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x18
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,92) size 213x23 [r=4 c=1 rs=1 cs=1]
                RenderTextControl {INPUT} at (2,2) size 147x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
            RenderTableRow {DIV} at (0,115) size 237x23
              RenderTableCell {DT} at (0,117) size 25x18 [r=5 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x18
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,115) size 213x23 [r=5 c=1 rs=1 cs=1]
                RenderTextControl {INPUT} at (2,2) size 147x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
            RenderTableRow {DIV} at (0,138) size 237x36
              RenderTableCell {DT} at (0,156) size 25x18 [r=6 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 25x18
                  text run at (0,0) width 25: "Foo"
              RenderTableCell {DD} at (24,138) size 213x36 [r=6 c=1 rs=1 cs=1]
                RenderBlock {DIV} at (0,0) size 212x36
                  RenderBR {BR} at (0,0) size 0x18
                  RenderText {#text} at (0,18) size 212x18
                    text run at (0,18) width 212: "Bar (should be aligned with Foo)"
layer at (38,125) size 141x13
  RenderBlock {DIV} at (3,3) size 141x13
layer at (38,234) size 141x13
  RenderBlock {DIV} at (3,3) size 141x13
layer at (38,257) size 141x13
  RenderBlock {DIV} at (3,3) size 141x13
layer at (38,280) size 141x13
  RenderBlock {DIV} at (3,3) size 141x13
    RenderText {#text} at (0,0) size 18x13
      text run at (0,0) width 18: "Bar"
layer at (38,303) size 141x13
  RenderBlock {DIV} at (3,3) size 141x13
    RenderText {#text} at (0,0) size 18x13
      text run at (0,0) width 18: "Bar"
layer at (38,326) size 141x13
  RenderBlock {DIV} at (3,3) size 141x13
layer at (38,349) size 141x13
  RenderBlock {DIV} at (3,3) size 141x13
