376 Commits

Author SHA1 Message Date
buster%netscape.com
68bbfa7e34 minor interface cleanup
git-svn-id: svn://10.0.0.236/trunk@11797 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-02 20:36:35 +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
kipp%netscape.com
d33943c13b Create table-cell's body as a top-level body so that it doesn't shrink wrap around it's children during pass2 table reflow
git-svn-id: svn://10.0.0.236/trunk@11459 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-29 22:36:30 +00:00
kipp%netscape.com
6b67547955 Changed factory method to parameterize the shrink wrapping behavior
git-svn-id: svn://10.0.0.236/trunk@11317 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-29 03:44:25 +00:00
kipp%netscape.com
679b3025ae Use modified css rendering API
git-svn-id: svn://10.0.0.236/trunk@11158 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-26 17:17:20 +00:00
kipp%netscape.com
3e2105525b Fixed up includes to not depend on old content model classes
git-svn-id: svn://10.0.0.236/trunk@10966 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-24 21:37:45 +00:00
buster%netscape.com
0c00c9f654 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.


git-svn-id: svn://10.0.0.236/trunk@10922 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-24 16:37:22 +00:00
troy%netscape.com
556f680fca Removed ChildIsPseudoFrame() and IsEmpty() from nsContainerFrame
git-svn-id: svn://10.0.0.236/trunk@10890 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-24 04:06:42 +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
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
f97d444d8f integrates with new frame creation methods
git-svn-id: svn://10.0.0.236/trunk@9671 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-09 21:34:10 +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
buster%netscape.com
f79492b78c empty rows now handled properly
git-svn-id: svn://10.0.0.236/trunk@8980 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-01 17:49:05 +00:00
peterl%netscape.com
6655d27071 remove text attribute processing
git-svn-id: svn://10.0.0.236/trunk@8586 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-27 00:56:17 +00:00
troy%netscape.com
f5d7d63a42 Removed MoveTo() and SizeTo() member functions that were for debug
purposes, and are no longer needed


git-svn-id: svn://10.0.0.236/trunk@7571 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 18:17:34 +00:00
buster%netscape.com
ef08d853f8 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.


git-svn-id: svn://10.0.0.236/trunk@7132 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-03 20:27:59 +00:00
peterl%netscape.com
ac2ec1a340 rounding support
git-svn-id: svn://10.0.0.236/trunk@6999 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-31 23:34:45 +00:00
buster%netscape.com
7e38cceda4 we now paint backgrounds regardless of our content. Cell borders are
still conditionally painted based on whether the cell's content has
0=size or not.


git-svn-id: svn://10.0.0.236/trunk@6912 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-31 00:32:27 +00:00
buster%netscape.com
e61f20a237 empty cells do not render border or background color
git-svn-id: svn://10.0.0.236/trunk@6514 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-27 07:37:57 +00:00
peterl%netscape.com
590cae8cb1 factored backgound finding code to nsStyleUtil
git-svn-id: svn://10.0.0.236/trunk@6266 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-23 18:05:03 +00:00
troy%netscape.com
878c1d1350 Changed PaintBorder() to use the (x,y) that's passed in
git-svn-id: svn://10.0.0.236/trunk@6152 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-22 05:02:07 +00:00
troy%netscape.com
e727c63ed5 Changed nsCSSRendering::PaintBorder() so the entire rect is used
and not just the width and height


git-svn-id: svn://10.0.0.236/trunk@6136 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-22 02:46:00 +00:00
troy%netscape.com
23025b2d69 Commented out code that was forcing the border style to solid rather
than using whatever is in the default ua style sheet (inset)


git-svn-id: svn://10.0.0.236/trunk@6062 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-21 07:47:46 +00:00
buster%netscape.com
6ec4e2be88 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


git-svn-id: svn://10.0.0.236/trunk@5754 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-16 23:23:31 +00:00
kipp%netscape.com
fe90cdc817 Fix incremental reflow bug
git-svn-id: svn://10.0.0.236/trunk@5748 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-16 22:15:02 +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
1a959d659a for Nav compatibility, 0-width cells do not have insets
git-svn-id: svn://10.0.0.236/trunk@5411 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-13 20:41:38 +00:00
buster
b481b4f1eb added Nav4 compatibility code for 0-width cells
git-svn-id: svn://10.0.0.236/trunk@5400 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-13 19:22:45 +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
buster
38ee9372e2 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.


git-svn-id: svn://10.0.0.236/trunk@5082 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-07 01:06:51 +00:00
buster
ead43eee9f 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.


git-svn-id: svn://10.0.0.236/trunk@5056 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-06 21:00:11 +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
buster
4028747412 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.


git-svn-id: svn://10.0.0.236/trunk@4670 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-29 20:38:22 +00:00
buster
545749c070 minor tweaks for table layout
git-svn-id: svn://10.0.0.236/trunk@4660 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-29 03:09:14 +00:00
buster
3b31c107da support for Nav4 compatibility -- auto-width cells with 0-width content are 1 pixel wide
git-svn-id: svn://10.0.0.236/trunk@4609 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-26 23:31:33 +00:00
buster
9c71826ed6 fixed some nested table bugs and made some minor adjustments to Kipp's new line layout code.
git-svn-id: svn://10.0.0.236/trunk@4550 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-26 00:48:44 +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
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
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
buster
3609fb407a continuing work to separate content from frames
git-svn-id: svn://10.0.0.236/trunk@3656 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-11 15:46:37 +00:00
buster
0d87d412e5 some tentative steps towards content/frame separation in tables
git-svn-id: svn://10.0.0.236/trunk@3637 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-11 00:13:18 +00:00
troy
90ad65a58a Added nsIReflowCommand interface
git-svn-id: svn://10.0.0.236/trunk@3538 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-09 04:51:44 +00:00
peterl
bc184de5ad sync up to new style data apis
git-svn-id: svn://10.0.0.236/trunk@3322 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-05 06:09:09 +00:00