table frames no longer assume they are n levels below the inner table frame
table frames no longer assume their child frames are always the expected type of
frame. Now they check the display type and use that as sufficient proof that the frame
is of the right type. This implies a heavy reliance on the frame construction code to do
the right thing and always stamp out the right kind of frame for a given display type.
git-svn-id: svn://10.0.0.236/trunk@10922 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
(a nested table with specified width) inside (an auto-width column)
inside (a specified-width table). Got that?
The problem was that we we not setting state correctly during incremental reflow
when the image returned its proper metrics after giving default metrics that
were for its ALT text.
git-svn-id: svn://10.0.0.236/trunk@7132 18797224-902f-48f8-a5cc-f745e15eee43
still conditionally painted based on whether the cell's content has
0=size or not.
git-svn-id: svn://10.0.0.236/trunk@6912 18797224-902f-48f8-a5cc-f745e15eee43
We now cache lots of useful info in the colframes
we now properly account for margins just as uniform cellspacing
git-svn-id: svn://10.0.0.236/trunk@5754 18797224-902f-48f8-a5cc-f745e15eee43
this work exposed a few bugs and slow spots, which have been fixed
for the aol page, I added some additional backwards compatibility code
to proportionately distribute width when a fixed-width cell has colspans
git-svn-id: svn://10.0.0.236/trunk@5322 18797224-902f-48f8-a5cc-f745e15eee43
1. cellmap couldn't properly delete CellData because definition was unavailable
2. optimized table cells made taller wouldn't shrink when they should because we were not
remembering the previous desired height of the cell.
3. rows were placing cells on the left edge, and not adding in the left margin.
git-svn-id: svn://10.0.0.236/trunk@5082 18797224-902f-48f8-a5cc-f745e15eee43
from the prior available width. Some real-world test cases sped up
1-2 orders of magnitude for resize reflow. Initial reflow is unchanged because
we still need to get pass1 metrics on all content.
fixed nsCSSBlockFrame.cpp to take margins into account when computing parent's available width
fixed distribution of excess space to table cells when table is bigger than the content it holds.
not quite finished yet, but better.
git-svn-id: svn://10.0.0.236/trunk@4905 18797224-902f-48f8-a5cc-f745e15eee43
The row does this work now. This makes table layout more properly top-down.
git-svn-id: svn://10.0.0.236/trunk@4670 18797224-902f-48f8-a5cc-f745e15eee43
misc. nav4 compatibility enhancements
added the ability to QueryInterface for some specific table frame types
git-svn-id: svn://10.0.0.236/trunk@4348 18797224-902f-48f8-a5cc-f745e15eee43