Граф коммитов

85 Коммитов

Автор SHA1 Сообщение Дата
buster%netscape.com 89e198237d expanded nsIFrame::List to include nsIListFilter *aFilter param, by default nsnull.
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.
1998-09-02 21:59:54 +00:00
buster%netscape.com 1781327873 empty rows now handled properly 1998-09-01 17:49:05 +00:00
buster%netscape.com 49cf716e9d reimplemented cell map in terms of nsVoidArrays for incremental building.
the cellmap is now built incrementally, driven by nsTableRowFrame::InitialReflow
1998-08-31 21:23:28 +00:00
kipp%netscape.com c6290fa577 XPCOM'ized nsIContent and nsIHTMLContent 1998-08-29 20:20:38 +00:00
peterl%netscape.com 8d66d72540 no longer force unique style contexts 1998-08-27 00:57:05 +00:00
buster%netscape.com 7b6c525170 more content decoupling
support work for style optimizations
fixed a bug in table columns  -- the attribute repeat defaults to 1, not 0
1998-08-26 17:26:38 +00:00
buster%netscape.com 1e386bbc7c modified the resize reflow optimization so max element size is returned
if requested without triggering a reflow if the width hasn't changed.
1998-08-19 18:40:33 +00:00
troy%netscape.com acaa6d2f0e Change to object lifetime management. Views are no longer ref counted 1998-08-08 04:23:33 +00:00
buster%netscape.com 79c1b74a7a synch with branch
fixed the following bugs: 312653 312656 312655
the fixes were:

1. cells now inherit their bgcolor from the row, if available.  This is the
Nav4 way of drawing row bgcolor, rather than having the row paint its own bgcolor. (Troy, I intend to make this conditional
based on the compatibility mode)

2. colspans across cols that are all specified width no longer try to proportionately
divide the width of the span between the cols.  see http://www.city.net (now it's really fixed, without breaking nested tables in
constrained situations.)  A happy side effect is nested tables in general behave better when constrained.

3. min table sizes are fixed, so min width changes to content now effect the
table correctly during incremental reflow.  This fixes the table layout portion of the bugs on the http://www.aol.com/corp tree.
Rick will check in the other half of this fix soon.  Until then, don't expect to see much improvement.

4. fixed bug 312799.  Table cell now always reserve at least the maxElementSize
of its content, fixing problems when desiredSize<maxElementSize
1998-08-07 02:11:51 +00:00
buster%netscape.com 5fb7fd0dc2 fixed this case: (an image tag with no width attribute) inside (a specified-width column) inside
(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.
1998-08-03 20:27:59 +00:00
buster%netscape.com 705f18b571 fixed a memory leak on a style context 1998-08-01 02:30:35 +00:00
kipp%netscape.com 7ff5d0e7ce Remove most compiler warnings on IRIX 1998-07-29 20:19:08 +00:00
buster%netscape.com cb77901bc4 COLS attribute ignored if any column width info is specified (like <TD width=100>)
fixed lots of COLS related bugs.
handle min width spec (<TD width=0 or width=0% or width=0*>)
major fix to colspan handling
1998-07-26 04:23:01 +00:00
buster%netscape.com cc50c03239 GetColCount now returns the effective column count of the table, adjusted
for nonsense COLSPANs at the edge of a table.  Fixed some bugs this uncovered
where the cell was being asked for its colspan attribute rather than the table
being asked for the cell's effective col span.
1998-07-24 16:51:16 +00:00
buster%netscape.com 911380aeb5 any table with a nonsense rowspan lays out better 1998-07-24 00:43:09 +00:00
buster%netscape.com 35edf8df81 fixed table width problems when there are colspanning cells 1998-07-22 05:38:41 +00:00
troy%netscape.com 048270ffb0 Changed PaintBorder() to use the (x,y) that's passed in 1998-07-22 05:02:07 +00:00
buster%netscape.com 878f3fa809 * reworked the way colspan and rowspans are handled in table layout strategy. We do less work, and we look better.
* fixed more margin code.  we're inching towards correctness.
* the width contributed by a colspanning cell is now proportionately distributed to the columns based on the columns "effective width"
* added logic for handling illegal COLS attribute on a table (like COLS=4 in a 3-column table).  See nsTableFrame::GetEffectiveCOLSAttribute()
* added logic for handling illegal COLSPAN attribute on a cell (like COLSPAN=4 in a 3-column table).  See nsTableFrame::GetEffectiveColSpan().  This is wrong, and will get reworked soon.
* added the ability for cell width attributes to effect column width like Nav4.
1998-07-22 03:53:43 +00:00
troy%netscape.com ebedcce239 Changed Paint() to render the background if there is one 1998-07-20 23:56:17 +00:00
buster%netscape.com ef4c17cfab fixed a space leak/logic error handling colspans
added backwards compatibility for percent width tables inside of auto width tables (see http://webreview.com/wr/pub  warning:  you'll have to look at a local copy until
Troy/Vidur/somebody fixes an image problem.)
1998-07-17 21:02:28 +00:00
buster%netscape.com 43e2bfb777 we now allow empty rows 1998-07-17 17:51:43 +00:00
buster%netscape.com 51fe86ee79 fundemental overhaul of the BasicTableLayoutStrategy
We now cache lots of useful info in the colframes
we now properly account for margins just as uniform cellspacing
1998-07-16 23:23:31 +00:00
troy a629312753 Some more changes of nsIPresContext* to nsIPresContext& 1998-07-15 17:05:21 +00:00
troy afdf23392e Added an XXX to remind me to talk with Cujo about how we determine
whether the column widths have changed...
1998-07-15 04:52:32 +00:00
troy 88ad0371f3 Some improvements to the incremental reflow logic to handle all the
cases handled by resize reflow
1998-07-15 04:45:58 +00:00
troy d660868bc2 Changed API for CreateContinuingFrame and GetReflowMetrics to take
a reference to a nsIPresContext
1998-07-15 03:23:23 +00:00
troy a90fe8e1de Changed Reflow() member function to take a reference to a nsIPresContext
instead of a pointer
1998-07-15 02:53:09 +00:00
troy 8fb033f617 Incremental reflow changes 1998-07-14 15:29:50 +00:00
kipp a53b58f65f Reflow child when max-element-size is requested (this works around a purify detected crash) 1998-07-12 00:19:17 +00:00
troy 5d8fdf9dd8 Added back in some changes that got lost in the previous
check-in
1998-07-11 04:16:29 +00:00
buster 6e3192f275 fixed unix build, and one small uninitialized variable problem 1998-07-11 00:47:29 +00:00
buster 3e596fc26a major hackage to the table data structures. slimmer, simpler, faster
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
1998-07-11 00:00:31 +00:00
troy 786d36083e More code re-shuffling. I need to hurry and check-in before Cujo
whacks the tree
1998-07-10 22:56:13 +00:00
troy b147b465e4 Changed it so we assume that rows are always complete 1998-07-10 05:23:05 +00:00
troy 4e29404d47 Some incremental improvements 1998-07-10 04:00:38 +00:00
buster 72142b30f4 fixed 3 dumb bugs I introduced recently.
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.
1998-07-07 01:06:51 +00:00
troy 6d54a65afb More incremental reflow changes 1998-07-07 00:49:07 +00:00
buster 5135afe659 added support for "effective column widths", the width of a column pretending that spanning cells have no effect.
this gets us some more Nav4 compatibility.
several minor fixes.
1998-07-06 21:00:11 +00:00
troy d138bc14e1 Moved code that resized the table row cells from the row group frame
to the row frame. It's now handled as part of the DidReflow() post-
processing code
1998-07-02 20:35:23 +00:00
buster b54c4bdc95 added an optimization that skips pass2 cell reflows when the new available width is unchanged
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.
1998-07-02 17:40:56 +00:00
troy 8df0e96786 Some work-in-progress for incremental reflow 1998-07-02 05:39:10 +00:00
troy 59d4da2785 Some work-in-progress for incremental reflow 1998-07-01 04:55:15 +00:00
troy aa312a24e8 Removed some vertical margin collapsing stuff that wasn't needed 1998-07-01 03:03:32 +00:00
buster 70c232ebd4 fixed-width cells no longer improperly impact the available size
of subsequent cells in reflow pass 1

we correctly distribute extra space in a table proportionately.
We try to give the extra space to auto-width columns first,
and if there are none we distribute it to all columns.
The percentage is based on the cell content's desired size.
1998-06-30 20:12:45 +00:00
buster 1f0d9a91f1 cells no longer monkey with their available width based on attribute constraints.
The row does this work now. This makes table layout more properly top-down.
1998-06-29 20:38:22 +00:00
buster 705daa1418 minor tweaks for table layout 1998-06-29 03:09:14 +00:00
kipp b00f7215a5 Eliminated IRIX compiler warnings (and a bug) 1998-06-26 15:07:09 +00:00
buster d7cca42032 fixed some nested table bugs and made some minor adjustments to Kipp's new line layout code. 1998-06-26 00:48:44 +00:00
troy 04e9ce1a5f Added some asserts to the incremental reflow code 1998-06-24 22:05:59 +00:00
buster ba02200c08 fixed some bugs related to rowspans. This gets us closer on pages like Mozilla.org that were getting wild table heights. 1998-06-24 19:13:19 +00:00