Commit Graph

124 Commits

Author SHA1 Message Date
troy@netscape.com
7d57a590c9 Renamed Init() to SetInitialChildList() and added an additional parameter
for the name of the child list
1998-11-10 06:05:32 +00:00
troy@netscape.com
b04ee51233 First of a few changes to allow frames to have multiple child lists.
FirstChild() now takes an additional argument which is the name of the
child list.
1998-11-09 19:40:27 +00:00
buster@netscape.com
0429c47f06 fixed the bug where events were not getting passed down to content inside
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.
1998-11-07 00:36:37 +00:00
buster@netscape.com
f8a133173d removed some inefficiencies in finding the parent table frame.
Now the parent table frame is cached in the reflow state.
1998-11-04 20:09:19 +00:00
peterl@netscape.com
e74acd9aca sync to style resolution api changes 1998-11-03 20:33:43 +00:00
buster@netscape.com
887d09b95f fixed rowspan/cell height problem where subsequent rowspanning cells can
effect previous cell heights.
1998-11-02 18:32:14 +00:00
buster@netscape.com
6b939637a4 implemented basic attribute changed handling. most things currently work, those that don't will work better after Peter
lands some style context resolution changes.
1998-10-30 23:08:34 +00:00
buster@netscape.com
b80a9ca305 some extremely preliminary work for styleChanged incremental reflow 1998-10-30 07:57:44 +00:00
michaelp@netscape.com
70e988371d changes to support nsIRenderingContext that conforms to COM conventions. 1998-10-30 02:08:25 +00:00
buster@netscape.com
1ea121162a fixed bug 1180 (mozilla.org) and all tables that have nonsense colspans 1998-10-26 18:42:22 +00:00
buster@netscape.com
5b84163e76 fixed bug 1112 - form submission within a table sometimes doesn't work
because the form doesn't get a reflow command.  Now it does.
1998-10-23 17:24:57 +00:00
buster@netscape.com
89b8e1b717 just debug info 1998-10-22 21:59:13 +00:00
buster@netscape.com
9332e66cfe fixed a bug where columns were not always created as needed during incremental appends
added some extra debugging and support methods
1998-10-22 05:27:11 +00:00
buster@netscape.com
cf730b7bd6 fixed several incremental reflow bugs 1998-10-21 22:29:00 +00:00
buster@netscape.com
63dfd5801b incremental reflow only does pass1 reflow on new frames when necessary
fixed some rotting bits in table frame classes having to do with breaking tables
1998-10-20 20:05:44 +00:00
buster@netscape.com
ecd2d8b2f4 all containers now decend from nsHTMLContainerFrame
all "unknown frame" incremental reflow support methods now
replaced with nsHTMLContainerFrame::AddFrame and ::RemoveFrame
1998-10-20 17:45:07 +00:00
buster@netscape.com
075e4cc60b incremental reflow now includes insert/append/delete cell 1998-10-20 15:59:56 +00:00
buster@netscape.com
c212263e76 lots of work for incremental reflow when the target frame is a table frame 1998-10-14 16:32:45 +00:00
kipp@netscape.com
9f8e72a224 Added an nsIPresContext& to html-reflow-state's ctors and used it to implement better percentage width/height handling 1998-10-12 14:48:02 +00:00
troy@netscape.com
effa132f8d Removed GetContentIndex() from nsIFrame 1998-10-08 20:35:16 +00:00
troy@netscape.com
c850ca269e Changed ReflowChild() to send the WillReflow() notification as well 1998-10-06 00:27:22 +00:00
troy@netscape.com
5c50ea58dd Removed calls to MoveTo() BEFORE reflowing a frame. We used to do this
sequence: MoveTo(), Reflow(), SetRect(). Now that we have the WillReflow()/
DidReflow() code sandwhiches we no longer need to do the MoveTo()
1998-10-05 00:58:32 +00:00
buster@netscape.com
11cb76362f minor interface cleanup 1998-10-02 20:36:35 +00:00
troy@netscape.com
ee0a3c543f Eliminated nsIRunaround interface, and folded space manager parameter into
nsHTMLReflowState structure
1998-10-02 04:10:00 +00:00
troy@netscape.com
942c471f56 Separated reflow process out of nsIFrame and into nsIFrameReflow. Also
added nsIHTMLReflow, which is an HTML specific reflow interface
1998-10-01 04:46:11 +00:00
kipp@netscape.com
4dc6507c31 Fixed up includes to not depend on old content model classes 1998-09-24 21:37:45 +00:00
buster@netscape.com
bb0f52ad8b removed lots of assumptions about frame ordering and containership.
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.
1998-09-24 16:37:22 +00:00
troy@netscape.com
c34adae7e9 Removed PreReflowCheck() and PostReflowCheck() from nsContainerFrame 1998-09-24 03:59:30 +00:00
buster@netscape.com
8c95ff651d all frame initialization and related logic has moved into the various table frames' Init() methods
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.
1998-09-23 21:48:26 +00:00
buster@netscape.com
e819ae9c00 set all the groundwork for FAST table layout based on CSS-2 table-layout property 1998-09-22 23:36:06 +00:00
troy@netscape.com
5036d4dfaa Removed all references to m<First,Last>ContentOffset,mChildCount,mLastContentIsComplete 1998-09-21 03:40:32 +00:00
troy@netscape.com
80417bf958 Removed farme enumeration member functions for indexed access, last child,
and child count
1998-09-19 03:24:26 +00:00
buster@netscape.com
1aa76fdef5 added ColIsSpannedInto, ColHasSpanningCells
moved *IsSpannedInto and *HasSpanningCells into cellmap, giving us the oppurtunity
to easily cache results if we want.  These methods are still accessed through nsTableFrame.
changed nsTableFrame::GetCellAt to nsTableFrame::GetCellFrameAt to make it more clear what
the method returns:  a frame, not content.
1998-09-18 22:37:14 +00:00
troy@netscape.com
7f644b87ab Removed nsIContentDelegate.h 1998-09-18 17:34:48 +00:00
troy@netscape.com
c50f6105a2 Removed some old commented out code 1998-09-18 02:28:12 +00:00
troy@netscape.com
e9fcec8bda Frame construction changes for tables 1998-09-16 17:19:20 +00:00
buster@netscape.com
279673f032 better handling of non-cell frames in rowFrames
support for the case where a nested table is in a cell that has colspan>1
1998-09-16 00:48:14 +00:00
buster@netscape.com
de1257f4bd nsStyleConsts.h added some HTML 4 consts for tables
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
1998-09-15 17:58:24 +00:00
buster@netscape.com
1516c28a7a many fixes that effect http://www.mozilla.org and related pages.
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.
1998-09-09 20:00:40 +00:00
buster@netscape.com
11dada02d7 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
aab9a3a9de empty rows now handled properly 1998-09-01 17:49:05 +00:00
buster@netscape.com
83730647c4 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
d515f73150 XPCOM'ized nsIContent and nsIHTMLContent 1998-08-29 20:20:38 +00:00
peterl@netscape.com
91dcfc02b4 no longer force unique style contexts 1998-08-27 00:57:05 +00:00
buster@netscape.com
5f208e68e1 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
ffbbc432aa 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
7853fdbc5e Change to object lifetime management. Views are no longer ref counted 1998-08-08 04:23:33 +00:00
buster@netscape.com
35fe484983 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
f71d32961d 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
0da8072b9b fixed a memory leak on a style context 1998-08-01 02:30:35 +00:00