Bug 20610

Summary: display in style of tr results in ignoring style in col-tags
Product: WebKit Reporter: Ronald Lammers <rlammers>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: tabatkins
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows Vista   
Attachments:
Description Flags
testcase none

Description Ronald Lammers 2008-09-02 14:53:22 PDT
If a tr is given a style which contains a display-declaration, the tr does not follow the style-declarations in the col-tags.

example:
<html><head></head><body>
<table style="width:99%"><col style="width:13em" /><col style="width:auto" />
<tr><td>Test</td><td>Test</td></tr>
<tr style="display:run-in"><td>Test</td><td>Test</td></tr>
</table>
</body></html>

The second row in the table will show cells with the auto-widths (even when table-layout is set to fixed, and indepent of the type of width-setting)

The bug was observed in google chrome with webkit 525.13 and in safari (also 525.13), not in firefox 3.0.1 or MSIE
Comment 1 Ronald Lammers 2008-09-03 13:53:13 PDT
Bug also shows in latest Safari (build 525.21)
Comment 2 Ronald Lammers 2008-09-03 14:41:05 PDT
And bug also shows in latest nightly build for windows (r36012). (Updated version # in bugreport)

(Had to use acid3-test to tell the difference between standard-safari and webkit: safari scored 75/100, webkit 100/100 except that every 1 in abt 5 refreshes showed 98/100 or 96/100 (Test Namespace Test parent.notify("xhtml.3") sometimes remained visible, sometimes I could not tell the difference with 100/100)
Comment 3 Ronald Lammers 2008-09-03 14:50:18 PDT
Created attachment 23150 [details]
testcase
Comment 4 Tab Atkins 2011-10-20 18:15:30 PDT
Not a bug.  If you set 'display' to something other than 'table-row', then *it's no longer a table row*.  The CSS table fix-up algorithm then goes to work and does some fun things to the table's formatting structure.

In other words, you start with this structure:

table
 - table-column
 - table-column
 - table-row
   - table-cell
   - table-cell
 - table-row
   - table-cell
   - table-cell 

But after you set the second <tr> to be display:run-in, you instead get this structure:

table
 - table-column
 - table-column
 - table-row
   - table-cell
   - table-cell
 - (anonymous) table-row
   - (anonymous) table-cell
     - run-in
       - (anonymous) table
         - (anonymous) table-row
           - table-cell
           - table-cell

This is all expected behavior, so I'm marking this bug as invalid.