84 Commits

Author SHA1 Message Date
troy%netscape.com
1c0da71da3 Renamed Init() to SetInitialChildList() and added an additional parameter
for the name of the child list


git-svn-id: svn://10.0.0.236/trunk@14333 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-10 06:05:32 +00:00
troy%netscape.com
cdf69643a6 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.


git-svn-id: svn://10.0.0.236/trunk@14289 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-09 19:40:27 +00:00
buster%netscape.com
cf08e060ad some extremely preliminary work for styleChanged incremental reflow
git-svn-id: svn://10.0.0.236/trunk@13722 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-30 07:57:44 +00:00
buster%netscape.com
cf798f296d fixed several incremental reflow bugs
git-svn-id: svn://10.0.0.236/trunk@13285 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-21 22:29:00 +00:00
buster%netscape.com
75468d7b44 all containers now decend from nsHTMLContainerFrame
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
1998-10-20 17:45:07 +00:00
buster%netscape.com
4a9bcccc01 lots of work for incremental reflow when the target frame is a table frame
git-svn-id: svn://10.0.0.236/trunk@12807 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-14 16:32:45 +00:00
kipp%netscape.com
df3aef5b18 Removed nsCSSLayout::GetStyleSize and converted callers to use state in the html reflow state
git-svn-id: svn://10.0.0.236/trunk@12578 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-12 17:00:32 +00:00
kipp%netscape.com
3af8f78a16 Added an nsIPresContext& to html-reflow-state's ctors and used it to implement better percentage width/height handling
git-svn-id: svn://10.0.0.236/trunk@12575 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-12 14:48:02 +00:00
buster%netscape.com
86cad4cf3a WIP for inner table incremental reflow
lots of interface cleanup


git-svn-id: svn://10.0.0.236/trunk@12539 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-11 09:18:27 +00:00
buster%netscape.com
c6417cadce support nsTableOuterFrame incremental reflow
git-svn-id: svn://10.0.0.236/trunk@12441 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-09 19:59:45 +00:00
troy%netscape.com
ab9971c67b Removed GetContentIndex() from nsIFrame
git-svn-id: svn://10.0.0.236/trunk@12307 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-08 20:35:16 +00:00
buster%netscape.com
5377ebdea8 all frames properly setting ascent and descent values for reflow
WIP incremental reflow in nsTableOuterFrame


git-svn-id: svn://10.0.0.236/trunk@12283 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-08 15:34:48 +00:00
troy%netscape.com
f910aa1e8b Changed ReflowChild() to send the WillReflow() notification as well
git-svn-id: svn://10.0.0.236/trunk@11982 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-06 00:27:22 +00:00
troy%netscape.com
31a923050a 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()


git-svn-id: svn://10.0.0.236/trunk@11891 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-05 00:58:32 +00:00
troy%netscape.com
e191c422d9 Eliminated nsIRunaround interface, and folded space manager parameter into
nsHTMLReflowState structure


git-svn-id: svn://10.0.0.236/trunk@11749 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-02 04:10:00 +00:00
troy%netscape.com
7eac0bfdac Separated reflow process out of nsIFrame and into nsIFrameReflow. Also
added nsIHTMLReflow, which is an HTML specific reflow interface


git-svn-id: svn://10.0.0.236/trunk@11646 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-01 04:46:11 +00:00
buster%netscape.com
24dc879e22 just synching up some minor cleanup work
git-svn-id: svn://10.0.0.236/trunk@11571 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-30 18:11:48 +00:00
troy%netscape.com
90cbfd4db8 Removed all references to m<First,Last>ContentOffset,mChildCount,mLastContentIsComplete
git-svn-id: svn://10.0.0.236/trunk@10554 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-21 03:40:32 +00:00
buster%netscape.com
1524945a4b captions now work properly with new frame layout strategy.
nsTableOuterFrame->mFirstChild==nsTableOuterFrame->mInnerTableFrame, always.


git-svn-id: svn://10.0.0.236/trunk@10530 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-20 04:50:08 +00:00
troy%netscape.com
82c24af034 Removed farme enumeration member functions for indexed access, last child,
and child count


git-svn-id: svn://10.0.0.236/trunk@10475 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-19 03:24:26 +00:00
troy%netscape.com
b0bdb9e357 Removed nsIContentDelegate.h
git-svn-id: svn://10.0.0.236/trunk@10418 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-18 17:34:48 +00:00
troy%netscape.com
b60923ad33 Removed content delegates
git-svn-id: svn://10.0.0.236/trunk@10417 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-18 17:18:37 +00:00
troy%netscape.com
9ec1729d6e Cleaned up frame construction code
git-svn-id: svn://10.0.0.236/trunk@10243 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-17 04:07:58 +00:00
troy%netscape.com
8b2676b6e1 Frame construction changes for tables
git-svn-id: svn://10.0.0.236/trunk@10159 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-16 17:19:20 +00:00
buster%netscape.com
1c8d847337 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


git-svn-id: svn://10.0.0.236/trunk@10047 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-15 17:58:24 +00:00
buster%netscape.com
9a7b48eb26 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.


git-svn-id: svn://10.0.0.236/trunk@9156 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-02 21:59:54 +00:00
kipp%netscape.com
29e64a354f XPCOM'ized nsIContent and nsIHTMLContent
git-svn-id: svn://10.0.0.236/trunk@8824 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-29 20:20:38 +00:00
michaelp%netscape.com
7b063335be DeleteFrame() now takes a pres context.
git-svn-id: svn://10.0.0.236/trunk@8675 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-28 03:02:39 +00:00
buster%netscape.com
0438f71bc7 removed an overly-aggressive assertion that prevents nested tables from laying out
git-svn-id: svn://10.0.0.236/trunk@7239 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-04 17:16:56 +00:00
troy%netscape.com
220c86b242 Added ASSERT for the case where we get passed a reflow reason of initial
when we've already been reflowed once


git-svn-id: svn://10.0.0.236/trunk@7180 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-03 23:29:35 +00:00
buster%netscape.com
7a18ab6e6c fixed cases where we were not computing the table width correctly
fixed cases where we were inappropriately portioning out
a spanning cell's min width to the columns it spanned.


git-svn-id: svn://10.0.0.236/trunk@7011 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-01 02:31:55 +00:00
troy%netscape.com
a237b859e6 Fixed it so tables that don't want a border don't get a border
git-svn-id: svn://10.0.0.236/trunk@6063 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-21 08:12:22 +00:00
troy
eb7fa8a66e Changed API for CreateContinuingFrame and GetReflowMetrics to take
a reference to a nsIPresContext


git-svn-id: svn://10.0.0.236/trunk@5569 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-15 03:23:23 +00:00
troy
547dc8ae9b Changed Reflow() member function to take a reference to a nsIPresContext
instead of a pointer


git-svn-id: svn://10.0.0.236/trunk@5565 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-15 02:53:09 +00:00
troy
99f12e096a Deprecated the SetFirstContentOffset/SetLastContentOffset member
functions that take a nsIFrame*


git-svn-id: svn://10.0.0.236/trunk@5297 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-10 19:04:06 +00:00
troy
b936040985 Changed it so the inner table is reflowed by using the Reflow()
member function rather than poking the individual pass 1, pass 2, ...
member functions


git-svn-id: svn://10.0.0.236/trunk@5223 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-09 14:30:34 +00:00
troy
6044ce3680 Changes to the caption handling code
git-svn-id: svn://10.0.0.236/trunk@5176 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-08 20:21:17 +00:00
troy
e3b310d6e6 Tables not allow only one caption
git-svn-id: svn://10.0.0.236/trunk@5134 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-08 04:49:01 +00:00
kipp
7cf6711c96 Fixed bug where tables weren't returning a proper set of metrics
git-svn-id: svn://10.0.0.236/trunk@4919 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-02 21:24:56 +00:00
buster
192406dc56 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.


git-svn-id: svn://10.0.0.236/trunk@4905 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-02 17:40:56 +00:00
kipp
3962528be4 Use new PropagateContentOffsets API
git-svn-id: svn://10.0.0.236/trunk@4733 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-30 20:22:44 +00:00
troy
baaf01afc1 Changed to make sure we set the (x,y) for the frame before we reflow it
git-svn-id: svn://10.0.0.236/trunk@4424 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-24 18:09:47 +00:00
troy
344f630d8d Changed to make sure we link the child frame into the list of frames before
we reflow it


git-svn-id: svn://10.0.0.236/trunk@4420 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-24 16:35:21 +00:00
troy
45ccdb4fb7 Some incremental reflow changes
git-svn-id: svn://10.0.0.236/trunk@4391 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-24 04:38:52 +00:00
buster
fe4ba8793e lots of nested tables look much better
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
1998-06-23 23:23:21 +00:00
troy
a1d33a1377 Some work-in-progress for table incremental reflow
git-svn-id: svn://10.0.0.236/trunk@4282 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-23 05:43:27 +00:00
troy
2b41d4547a Eliminated mFirstPassValid and changed code to key off the reflow
reason


git-svn-id: svn://10.0.0.236/trunk@4240 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-22 21:59:43 +00:00
troy
38dc935943 Started hooking up incremental reflow. So far we only handle changed
captions


git-svn-id: svn://10.0.0.236/trunk@4218 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-22 05:34:17 +00:00
troy
57e7d240bb Work in progress for incremental reflow
git-svn-id: svn://10.0.0.236/trunk@4135 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-19 05:21:45 +00:00
troy
6ab2c7e66c Eliminated nsTableCaptionFrame and now we just use a nsBodyFrame instead
git-svn-id: svn://10.0.0.236/trunk@4107 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-19 00:34:12 +00:00