A table cell whose width is 'auto' should use the width property of the corresponding col element if there is one. WinIE renders the testcase as expected.
Created attachment 4790 [details] testcase
Created attachment 4791 [details] Use <col> width during layout when necessary I am not sure that this is the right approach (rather than doing some crazy CSS "inheritance"). Also, for table cells with colspan > 1, it falls back on "auto", which didn't seem worse than any other option I tried or what I saw in Firefox.
Comment on attachment 4791 [details] Use <col> width during layout when necessary This looks just right to me. r=me If it was me, I would have used a return rather than "w=" in RenderTableCell::styleOrColWidth, but there are arguments that go both ways on this very minor coding style issue. It would be slightly better if RenderTableCell::calcMinMaxWidth() was written so that it did not call styleOrColWidth() unless nowrap is set, but worrying about this smacks of premature optimization.