One example of the crash is changing the style of a cell via DOM.
Also fixed an error in the API of nsTableColFrame
git-svn-id: svn://10.0.0.236/trunk@19028 18797224-902f-48f8-a5cc-f745e15eee43
also removed nsTableFrame::QueryInterface() because it was just extraneous, and it made
an assumption about what class nsTableFrame derives from. Let the vtable do its work...
git-svn-id: svn://10.0.0.236/trunk@18806 18797224-902f-48f8-a5cc-f745e15eee43
frames and row frames (because internal table elements don't have margins)
git-svn-id: svn://10.0.0.236/trunk@17126 18797224-902f-48f8-a5cc-f745e15eee43
at the pixel level. The odd pixel is always given to the right and bottom
cell borders whenever possible, and to the top and left table border otherwise.
git-svn-id: svn://10.0.0.236/trunk@16761 18797224-902f-48f8-a5cc-f745e15eee43
and doesn't measure borders where the width changes along a shared edge yet.
git-svn-id: svn://10.0.0.236/trunk@16742 18797224-902f-48f8-a5cc-f745e15eee43
default cellspacing and cellpadding now comes from the table frame itself
other frames on longer look at the "tableStyle" struct for these values
git-svn-id: svn://10.0.0.236/trunk@15824 18797224-902f-48f8-a5cc-f745e15eee43
types, and mColGroups. Besides being cleaner and easier to maintain, this should speed some things up slightly
because I don't have to check display types every time I iterate through colgroup frames. I *know*
mColGroups contains only colgroups. I might do the same for rowgroups (that is, keep unknown frame types
in their own list as well.) But that's optional.
the inner table frame used to incorrectly create actual content objects for anonymous colgroups and cols. Now,
it just creates frames as appropriate, not content. To support this, I added some pseudo style contexts and
related atoms.
git-svn-id: svn://10.0.0.236/trunk@15704 18797224-902f-48f8-a5cc-f745e15eee43
C++ compiler is strict about getting 'const' right. Most of the changes
are to add 'const' to the type casts for the second argument of the
GetStyleData method, which wants a const reference.
git-svn-id: svn://10.0.0.236/trunk@15625 18797224-902f-48f8-a5cc-f745e15eee43
1. width=0 is treated as width=auto, not width=min
2. empty cells <td></td> are assigned a width of (2*borderWidth + 2*cellspacing + 3) pixels
The "3" is a fudge factor added by Nav and IE.
git-svn-id: svn://10.0.0.236/trunk@15309 18797224-902f-48f8-a5cc-f745e15eee43
and/or to the width attribute on the table itself), the rule is to try to give the column the largest value
assigned to it by any cell intersecting that column.
Separate storage is maintained for a column's natural desired width (width from any source other than a cell
with a colspan) and the maximum contribution to the column's width from any cell with a colspan.
git-svn-id: svn://10.0.0.236/trunk@14732 18797224-902f-48f8-a5cc-f745e15eee43
colgroup pseudo frame for cols inserted directly into a table. More like this to come...
git-svn-id: svn://10.0.0.236/trunk@14512 18797224-902f-48f8-a5cc-f745e15eee43
FirstChild() now takes an additional argument which is the name of the
child list.
git-svn-id: svn://10.0.0.236/trunk@14289 18797224-902f-48f8-a5cc-f745e15eee43