border-collapse merge and improvements

Leo Savernik l.savernik at aon.at
Tue May 4 21:18:38 CEST 2004


Hello,

I have finally merged WebCore's border-collapse patches into KHTML. While I 
basically merged the code virtually unaltered, I introduced the following 
change:

On the cell precedence level, cells will only paint the borders that belong to 
them. This fixes an issue with colspans where a colspan would paint the 
border of an underneath cell over the whole width of the colspan instead of 
only the width of the underneath cell itself [1].

To make this work, I take into account the border spilling into adjacent cells 
in the RenderTableSection::paint method.

Though you stated that this behaviour is underspecified, I think this 
resembles what web developers expect, and Mozilla does it, too (and I think 
IE, too, but I cannot verify this).

The second bug fixed is a "border style shift" which happens when a cell 
paints half of the dotted/dashed border of an adjacent cell, and the adjacent 
cell also does, the gaps are shifted. You can reproduce the issue when smooth 
scrolling over the table (maybe this cannot happen under Mac OS X, so you 
haven't ever noticed it).

What I did not fix is the issue that borders spilling into the margin of the 
table are not redrawn when the damage rectangle does not intersect with the 
table rectangle itself . I really hope you can persuade the CSS WG to abolish 
spilling.

I have attached a "pseudo patch". It only highlights the differences between 
WebCore 125 and the patch I committed.

mfg
	Leo

[1] http://selfhtml.teamone.de/css/eigenschaften/anzeige/border_collapse.htm

-------------- next part --------------
A non-text attachment was scrubbed...
Name: render_bordercollapse_2-webcore125.diff
Type: text/x-diff
Size: 3724 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/khtml-devel/attachments/20040504/0c404ada/render_bordercollapse_2-webcore125.bin


More information about the Khtml-devel mailing list