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
the problem was the way table layout apportioned height from a rowspanning cell.
Now, we do 2 things correctly:
1) we handle rows with rowspanning cells and no other cells.
2) we divide the height of a rowspanning cell proportionately to the rows spanned, where the proportion is defined by
the max height of a cell in that row that has no effective rowspan.
the partial fix for bug 1431 has to do with dividing width between percent-width and fixed-width columns in the same
table. You won't see any better layout for this page (ww.boston.com) as a result of the code I added. The rest of this
fix is a bit risky, so I'm waiting until after stability push.
git-svn-id: svn://10.0.0.236/trunk@15257 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
of cells with rowspans. Basically, I just override HandleEvent() in nsTableRowGroupFrame
to ask nsTableRowFrame::Contains(), rather than the default action which is to
just use the child's rect.
git-svn-id: svn://10.0.0.236/trunk@14218 18797224-902f-48f8-a5cc-f745e15eee43
fixed some rotting bits in table frame classes having to do with breaking tables
git-svn-id: svn://10.0.0.236/trunk@13210 18797224-902f-48f8-a5cc-f745e15eee43
all "unknown frame" incremental reflow support methods now
replaced with nsHTMLContainerFrame::AddFrame and ::RemoveFrame
git-svn-id: svn://10.0.0.236/trunk@13209 18797224-902f-48f8-a5cc-f745e15eee43
sequence: MoveTo(), Reflow(), SetRect(). Now that we have the WillReflow()/
DidReflow() code sandwhiches we no longer need to do the MoveTo()
git-svn-id: svn://10.0.0.236/trunk@11891 18797224-902f-48f8-a5cc-f745e15eee43
from their respective InitalReflow() methods.
table-layout=fixed now completely skips pass1 reflow and doesn't require maxElementSize
information, saving a tremendous amount of time during initial reflow.
git-svn-id: svn://10.0.0.236/trunk@10841 18797224-902f-48f8-a5cc-f745e15eee43
nsHTMLAtoms.cpp,h added some HTML 4 strings for tables
nsHTMLParts.h added constructors for new table content classes
nsGenericHTMLElement.cpp,h added table frame creation, common table attribute parsing
nsHTMLTable*Element.cpp these are the new table content classes
nsHTMLContentSink.cpp enabled the new content and removed the old
nsHTMLStyleSheet.cpp fixed the table style optimizations to work with new content
nsTable*Frame.cpp these work with the new content
git-svn-id: svn://10.0.0.236/trunk@10047 18797224-902f-48f8-a5cc-f745e15eee43
these fixes are for nested tables with percent widths, for tables including both rowspan and colspan,
and for tables with only a single column.
some rounding errors were eliminated.
more debugging output, and some new assertions.
git-svn-id: svn://10.0.0.236/trunk@9655 18797224-902f-48f8-a5cc-f745e15eee43
aFilter is useful for determining if a frame should output itself during
a List(). In any event, the children of the frame are always processed.
added nsIListFilter, an interface for any object that wants to act like a filter for frame dumps
added static NS_LAYOUT nsIListFilter * GetFilter(nsString *aFilterName);
currently, only TableListFilter implements nsIListFilter.
in response to List(...TableListFilter), the frame model is dumped in a way that is useful
for table layout regression testing. Currently this is controlled by command line switches on the viewer app.
git-svn-id: svn://10.0.0.236/trunk@9156 18797224-902f-48f8-a5cc-f745e15eee43