329 Commits

Author SHA1 Message Date
michaelp%netscape.com
29bd495725 changes to support nsIRenderingContext that conforms to COM conventions.
git-svn-id: svn://10.0.0.236/trunk@13703 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-30 02:08:25 +00:00
buster%netscape.com
065cfb55ee fixed a bug where columns were not always created as needed during incremental appends
added some extra debugging and support methods


git-svn-id: svn://10.0.0.236/trunk@13305 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-22 05:27:11 +00:00
buster%netscape.com
f3b963f1b8 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


git-svn-id: svn://10.0.0.236/trunk@13210 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-20 20:05:44 +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
066a8fdc3f incremental reflow now includes insert/append/delete cell
git-svn-id: svn://10.0.0.236/trunk@13201 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-20 15:59:56 +00:00
buster%netscape.com
1b5515eaa5 rows can now be incrementally inserted, appended, and deleted.
git-svn-id: svn://10.0.0.236/trunk@13141 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-19 23:43:06 +00:00
buster%netscape.com
88c09f9734 progress on table incremental reflow of row group insert/append/delete
git-svn-id: svn://10.0.0.236/trunk@12875 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-15 07:46:16 +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
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
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
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
troy%netscape.com
aec668d182 Changed signature of PushChildren() member function
git-svn-id: svn://10.0.0.236/trunk@10894 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-24 04:18:58 +00:00
troy%netscape.com
2bdb85f976 Removed IsLastChild() member function from nsContainerFrame
git-svn-id: svn://10.0.0.236/trunk@10891 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-24 04:12:01 +00:00
troy%netscape.com
43e6ab37a3 Removed PreReflowCheck() and PostReflowCheck() from nsContainerFrame
git-svn-id: svn://10.0.0.236/trunk@10888 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-24 03:59:30 +00:00
troy%netscape.com
bf40dfa99c Removed mFirstContentOffset, LastContentOffset, and mLastContentIsComplete
from nsContainerFrame


git-svn-id: svn://10.0.0.236/trunk@10883 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-24 03:36:52 +00:00
buster%netscape.com
4cca9446d0 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.


git-svn-id: svn://10.0.0.236/trunk@10841 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-23 21:48:26 +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
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
ab310b46a0 Removed some code that's no longer needed now that we've switched to
new frame construction


git-svn-id: svn://10.0.0.236/trunk@10340 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-18 02:22:52 +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
26f6ed9085 nsTableRowGroupFrame no longer assumes all its children are rows, or that all row children are cells.
git-svn-id: svn://10.0.0.236/trunk@10072 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-15 20:36:42 +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
e325a433cd 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.


git-svn-id: svn://10.0.0.236/trunk@9655 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-09 20:00:40 +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
peterl%netscape.com
b3ace934f1 no longer force unique style contexts
git-svn-id: svn://10.0.0.236/trunk@8587 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-27 00:57:05 +00:00
troy%netscape.com
06a522099a Change to object lifetime management. Views are no longer ref counted
git-svn-id: svn://10.0.0.236/trunk@7605 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 04:23:33 +00:00
buster%netscape.com
bd14f040ee 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


git-svn-id: svn://10.0.0.236/trunk@7509 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 02:11:51 +00:00
buster%netscape.com
ec0b3d1318 any table with a nonsense rowspan lays out better
git-svn-id: svn://10.0.0.236/trunk@6344 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-24 00:43:09 +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
buster
7e8cc1207b 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


git-svn-id: svn://10.0.0.236/trunk@5322 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-11 00:00:31 +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
276aea3a61 Cleaned up ShrinkWrapChildren so pass 1 doesn't resize the rows
git-svn-id: svn://10.0.0.236/trunk@5084 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-07 03:48:21 +00:00
troy
3b5b47465b More incremental reflow changes
git-svn-id: svn://10.0.0.236/trunk@5081 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-07 00:49:07 +00:00
troy
a40632c113 Incremental reflow work-in-progress
git-svn-id: svn://10.0.0.236/trunk@5065 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-06 21:39:23 +00:00
troy
91626f8759 More work-in-progress incremental reflow code
git-svn-id: svn://10.0.0.236/trunk@4951 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-02 23:19:31 +00:00
troy
89a3525fb4 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


git-svn-id: svn://10.0.0.236/trunk@4916 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-02 20:35:23 +00:00
troy
5984f25221 Some work-in-progress for incremental reflow
git-svn-id: svn://10.0.0.236/trunk@4892 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-02 05:39:10 +00:00
atotic
8336cedefe Fixed the for (PRInt32 i=) problem
git-svn-id: svn://10.0.0.236/trunk@4839 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-01 22:40:00 +00:00
troy
1d0565bf04 Moved shrink wrap code from table frame to table row group frame
git-svn-id: svn://10.0.0.236/trunk@4693 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-30 02:11:07 +00:00
troy
c792cab9c2 Added some asserts to the incremental reflow code
git-svn-id: svn://10.0.0.236/trunk@4440 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-24 22:05:59 +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
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
buster
dc23f3a90e Separated table content from table layout. This paves the way for XML/CSS-2 tables.
Lots and lots of optimizations.


git-svn-id: svn://10.0.0.236/trunk@3982 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-17 16:38:24 +00:00