Commit Graph
84 Commits
Author SHA1 Message Date
peterl@netscape.com 9d8f3d8c5d set border style 1998-10-13 19:17:57 +00:00
kipp@netscape.com a16b0dd7bf Removed nsCSSLayout::GetStyleSize and converted callers to use state in the html reflow state 1998-10-12 17:00:32 +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
buster@netscape.com f30d1af844 all frames properly setting ascent and descent values for reflow
WIP incremental reflow in nsTableOuterFrame
1998-10-08 15:34:48 +00:00
kipp@netscape.com cc6c52038c use new body factory method 1998-10-06 00:44:35 +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 3949cefd5a 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 1998-09-29 22:36:30 +00:00
kipp@netscape.com 8793477e2d Changed factory method to parameterize the shrink wrapping behavior 1998-09-29 03:44:25 +00:00
kipp@netscape.com 73ce388bce Use modified css rendering API 1998-09-26 17:17:20 +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 0fe6e526f0 Removed ChildIsPseudoFrame() and IsEmpty() from nsContainerFrame 1998-09-24 04:06:42 +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 e9fcec8bda Frame construction changes for tables 1998-09-16 17:19:20 +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 4c0392c95b integrates with new frame creation methods 1998-09-09 21:34:10 +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
peterl@netscape.com 22615646c2 remove text attribute processing 1998-08-27 00:56:17 +00:00
troy@netscape.com 6d6cb5ca33 Removed MoveTo() and SizeTo() member functions that were for debug
purposes, and are no longer needed
1998-08-07 18:17:34 +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
peterl@netscape.com dda833cded rounding support 1998-07-31 23:34:45 +00:00
buster@netscape.com 57ffeb7e72 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.
1998-07-31 00:32:27 +00:00
buster@netscape.com 1ab19f4be6 empty cells do not render border or background color 1998-07-27 07:37:57 +00:00
peterl@netscape.com 0144ae9296 factored backgound finding code to nsStyleUtil 1998-07-23 18:05:03 +00:00
troy@netscape.com 3d32e26332 Changed PaintBorder() to use the (x,y) that's passed in 1998-07-22 05:02:07 +00:00
troy@netscape.com 2f1442d674 Changed nsCSSRendering::PaintBorder() so the entire rect is used
and not just the width and height
1998-07-22 02:46:00 +00:00
troy@netscape.com 7304785937 Commented out code that was forcing the border style to solid rather
than using whatever is in the default ua style sheet (inset)
1998-07-21 07:47:46 +00:00
buster@netscape.com dd50384b0a 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
1998-07-16 23:23:31 +00:00
kipp@netscape.com 2cf28670a1 Fix incremental reflow bug 1998-07-16 22:15:02 +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 418fd7223a for Nav compatibility, 0-width cells do not have insets 1998-07-13 20:41:38 +00:00
buster a0a4a17286 added Nav4 compatibility code for 0-width cells 1998-07-13 19:22:45 +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
buster c34508750f 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.
1998-07-07 01:06:51 +00:00
buster d4a354c4be 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.
1998-07-06 21:00:11 +00:00
buster b121968466 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.
1998-07-02 17:40:56 +00:00
buster 327ba68899 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.
1998-06-29 20:38:22 +00:00
buster c4b2e5f05a minor tweaks for table layout 1998-06-29 03:09:14 +00:00
buster 1272ec01e8 support for Nav4 compatibility -- auto-width cells with 0-width content are 1 pixel wide 1998-06-26 23:31:33 +00:00