The Big Changes (on both sides)

Lars Knoll lars@trolltech.com
Thu, 9 Jan 2003 10:56:58 +0100


> Changes that I think are doing pretty well at this point include the
> layer changes, the FOUC changes and the margin collapsing code in
> layoutBlockChildren.

Ok. I thought about merging the margin collapsing code for KDE 3.1, but was
not 100% sure. The layer changes are probably too big to be included in 3.1,
as I'm not sure I will be able to do a clean integrate without introducing
regressions (by eg. missing parts).

> Lars, can you comment on the state of your new table code?  I'm
> interested in merging that back into our tree, and I'd love to get an
> overview of where you are with that (and maybe a little background on
> how the new code works).

It works pretty well currently. We're at the state where we see less problems
than with the old code (I currently have one known bug with the code in 3.1
and no open problem with the code in CVS HEAD, but HEAD is not really very
well tested up to now).

The new code distinguishes between fixed table layout and auto layout, giving
a huge performance improvement on pages that use fixed layouts. The auto
layouting code is also faster and seems to conform better to what other
browsers do.

Basically we have now a TableLayout class with two implementations:
FixedTableLayout and AutoTableLayout. According to the CSS table-layout
property the RenderTable instantiates one of them. The layouting algorithm
tries to imitate IE/mozilla (being a lot closer to IE) as far as possible. I
think we get all cases where both browsers agree correctly now.

Another improvement is background handling which now also works for table
column elements.

The thing that is still missing is collapsing border handling.

Cheers,
Lars