Commit Graph

284 Commits

Author SHA1 Message Date
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
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
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
eb3fa19189 rows can now be incrementally inserted, appended, and deleted. 1998-10-19 23:43:06 +00:00
buster@netscape.com
965ebde8cb progress on table incremental reflow of row group insert/append/delete 1998-10-15 07:46:16 +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
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
troy@netscape.com
cd63df2958 Changed signature of PushChildren() member function 1998-09-24 04:18:58 +00:00
troy@netscape.com
e3256dc245 Removed IsLastChild() member function from nsContainerFrame 1998-09-24 04:12:01 +00:00
troy@netscape.com
c34adae7e9 Removed PreReflowCheck() and PostReflowCheck() from nsContainerFrame 1998-09-24 03:59:30 +00:00
troy@netscape.com
a14c3f1c67 Removed mFirstContentOffset, LastContentOffset, and mLastContentIsComplete
from nsContainerFrame
1998-09-24 03:36:52 +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
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
troy@netscape.com
7f644b87ab Removed nsIContentDelegate.h 1998-09-18 17:34:48 +00:00
troy@netscape.com
e9440f240f Removed some code that's no longer needed now that we've switched to
new frame construction
1998-09-18 02:22:52 +00:00
troy@netscape.com
e9fcec8bda Frame construction changes for tables 1998-09-16 17:19:20 +00:00
buster@netscape.com
5184ca92f1 nsTableRowGroupFrame no longer assumes all its children are rows, or that all row children are cells. 1998-09-15 20:36:42 +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
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
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
e046f04ce8 any table with a nonsense rowspan lays out better 1998-07-24 00:43:09 +00:00
troy
26046305da Changed API for CreateContinuingFrame and GetReflowMetrics to take
a reference to a nsIPresContext
1998-07-15 03:23:23 +00:00
troy
26b49b4476 Changed Reflow() member function to take a reference to a nsIPresContext
instead of a pointer
1998-07-15 02:53:09 +00:00
buster
0f3a064a10 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
fa4e80a752 Deprecated the SetFirstContentOffset/SetLastContentOffset member
functions that take a nsIFrame*
1998-07-10 19:04:06 +00:00
troy
25992f23c0 Cleaned up ShrinkWrapChildren so pass 1 doesn't resize the rows 1998-07-07 03:48:21 +00:00
troy
3481cc90e8 More incremental reflow changes 1998-07-07 00:49:07 +00:00
troy
9420340aea Incremental reflow work-in-progress 1998-07-06 21:39:23 +00:00
troy
a9b6ca1c86 More work-in-progress incremental reflow code 1998-07-02 23:19:31 +00:00
troy
f5e6a2afc1 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
troy
6b86eb70cd Some work-in-progress for incremental reflow 1998-07-02 05:39:10 +00:00
atotic
0af7891257 Fixed the for (PRInt32 i=) problem 1998-07-01 22:40:00 +00:00
troy
615498146d Moved shrink wrap code from table frame to table row group frame 1998-06-30 02:11:07 +00:00