layer at (0,0) size 785x1116
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1116
  RenderBlock {HTML} at (0,0) size 785x1116
    RenderBody {BODY} at (8,8) size 769x1100
      RenderBlock {P} at (0,0) size 769x40
        RenderText {#text} at (0,0) size 746x19
          text run at (0,0) width 364: "The table below should have the same width as the red DIV "
          text run at (364,0) width 347: "below this paragraph. The inner image should just fit. The "
          text run at (711,0) width 35: "image"
        RenderInline {EM} at (0,0) size 67x19
          RenderText {#text} at (0,20) size 67x19
            text run at (0,20) width 67: "should not"
        RenderText {#text} at (67,20) size 127x19
          text run at (67,20) width 127: " overrun the borders."
      RenderBlock {DIV} at (0,56) size 610x2 [border: (1px solid #FF0000)]
      RenderTable {TABLE} at (0,74) size 608x387 [border: (1px dotted #000080)]
        RenderTableSection {TBODY} at (1,1) size 606x385
          RenderTableRow {TR} at (0,2) size 606x24
            RenderTableCell {TD} at (2,2) size 149x24 [border: (1px solid #008000)] [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (2,2) size 7x19
                text run at (2,2) width 7: "a"
            RenderTableCell {TD} at (153,2) size 149x24 [border: (1px solid #008000)] [r=0 c=1 rs=1 cs=1]
              RenderText {#text} at (2,2) size 8x19
                text run at (2,2) width 8: "b"
            RenderTableCell {TD} at (304,2) size 149x24 [border: (1px solid #008000)] [r=0 c=2 rs=1 cs=1]
              RenderText {#text} at (2,2) size 7x19
                text run at (2,2) width 7: "c"
            RenderTableCell {TD} at (455,2) size 149x24 [border: (1px solid #008000)] [r=0 c=3 rs=1 cs=1]
              RenderText {#text} at (2,2) size 8x19
                text run at (2,2) width 8: "d"
          RenderTableRow {TR} at (0,28) size 606x24
            RenderTableCell {TD} at (2,28) size 300x24 [border: (1px solid #008000)] [r=1 c=0 rs=1 cs=2]
              RenderText {#text} at (2,2) size 21x19
                text run at (2,2) width 21: "eee"
            RenderTableCell {TD} at (304,28) size 300x24 [border: (1px solid #008000)] [r=1 c=2 rs=1 cs=2]
              RenderText {#text} at (2,2) size 4x19
                text run at (2,2) width 4: "f"
          RenderTableRow {TR} at (0,54) size 606x329
            RenderTableCell {TD} at (2,54) size 602x329 [border: (1px solid #008000)] [r=2 c=0 rs=1 cs=4]
              RenderImage {IMG} at (2,2) size 593x325
              RenderText {#text} at (0,0) size 0x0
      RenderBlock {DIV} at (0,477) size 610x2 [border: (1px solid #FF0000)]
      RenderBlock {P} at (0,495) size 769x20
        RenderText {#text} at (0,0) size 374x19
          text run at (0,0) width 374: "Mozilla makes the table way too small for no apparent reason."
      RenderBlock {P} at (0,531) size 769x20
        RenderText {#text} at (0,0) size 236x19
          text run at (0,0) width 236: "Here is the same table, one pixel wider:"
      RenderTable {TABLE} at (0,567) size 609x387 [border: (1px dotted #000080)]
        RenderTableSection {TBODY} at (1,1) size 607x385
          RenderTableRow {TR} at (0,2) size 607x24
            RenderTableCell {TD} at (2,2) size 150x24 [border: (1px solid #008000)] [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (2,2) size 7x19
                text run at (2,2) width 7: "a"
            RenderTableCell {TD} at (153,2) size 150x24 [border: (1px solid #008000)] [r=0 c=1 rs=1 cs=1]
              RenderText {#text} at (2,2) size 8x19
                text run at (2,2) width 8: "b"
            RenderTableCell {TD} at (304,2) size 150x24 [border: (1px solid #008000)] [r=0 c=2 rs=1 cs=1]
              RenderText {#text} at (2,2) size 7x19
                text run at (2,2) width 7: "c"
            RenderTableCell {TD} at (455,2) size 150x24 [border: (1px solid #008000)] [r=0 c=3 rs=1 cs=1]
              RenderText {#text} at (2,2) size 8x19
                text run at (2,2) width 8: "d"
          RenderTableRow {TR} at (0,28) size 607x24
            RenderTableCell {TD} at (2,28) size 301x24 [border: (1px solid #008000)] [r=1 c=0 rs=1 cs=2]
              RenderText {#text} at (2,2) size 21x19
                text run at (2,2) width 21: "eee"
            RenderTableCell {TD} at (304,28) size 301x24 [border: (1px solid #008000)] [r=1 c=2 rs=1 cs=2]
              RenderText {#text} at (2,2) size 4x19
                text run at (2,2) width 4: "f"
          RenderTableRow {TR} at (0,54) size 607x329
            RenderTableCell {TD} at (2,54) size 603x329 [border: (1px solid #008000)] [r=2 c=0 rs=1 cs=4]
              RenderImage {IMG} at (2,2) size 593x325
              RenderText {#text} at (0,0) size 0x0
      RenderBlock {P} at (0,970) size 769x40
        RenderText {#text} at (0,0) size 755x39
          text run at (0,0) width 510: "Observations: Fiddle about with the content of the \"eee\" cell and everything changes. "
          text run at (510,0) width 245: "Remove any of the three rows and things"
          text run at (0,20) width 274: "change. Remove any of the four columns and "
          text run at (274,20) width 313: "things change. Remove the image and things change."
      RenderBlock {P} at (0,1026) size 769x20
        RenderText {#text} at (0,0) size 569x19
          text run at (0,0) width 474: "(Note: If the image has disappeared from the server, replace it with any 593px "
          text run at (474,0) width 95: "image you like.)"
      RenderBlock {P} at (0,1062) size 769x20
        RenderText {#text} at (0,0) size 55x19
          text run at (0,0) width 55: "See also "
        RenderInline {A} at (0,0) size 91x19 [color=#0000EE]
          RenderText {#text} at (55,0) size 91x19
            text run at (55,0) width 91: "tablewidth.html"
        RenderText {#text} at (146,0) size 4x19
          text run at (146,0) width 4: "."
      RenderBlock {HR} at (0,1098) size 769x2 [border: (1px inset #000000)]
