Граф коммитов

284 Коммитов

Автор SHA1 Сообщение Дата
peterl%netscape.com 9f87e56fe7 set border style 1998-10-13 19:17:57 +00:00
kipp%netscape.com a77548baff 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 ea5a5735f5 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 d25a9a35a2 Removed GetContentIndex() from nsIFrame 1998-10-08 20:35:16 +00:00
buster%netscape.com c81a22ecf1 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 186c55bec0 use new body factory method 1998-10-06 00:44:35 +00:00
troy%netscape.com 7e64653dab Changed ReflowChild() to send the WillReflow() notification as well 1998-10-06 00:27:22 +00:00
troy%netscape.com 3393397633 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 395bcf058e minor interface cleanup 1998-10-02 20:36:35 +00:00
troy%netscape.com 7aceb4270d Eliminated nsIRunaround interface, and folded space manager parameter into
nsHTMLReflowState structure
1998-10-02 04:10:00 +00:00
troy%netscape.com ba3c7125c2 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 2caa6d7cf3 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 261b8bd181 Changed factory method to parameterize the shrink wrapping behavior 1998-09-29 03:44:25 +00:00
kipp%netscape.com fff04dae01 Use modified css rendering API 1998-09-26 17:17:20 +00:00
kipp%netscape.com a388e31cbd Fixed up includes to not depend on old content model classes 1998-09-24 21:37:45 +00:00
buster%netscape.com 0bec735087 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 fb0251ec2e Removed ChildIsPseudoFrame() and IsEmpty() from nsContainerFrame 1998-09-24 04:06:42 +00:00
troy%netscape.com 0f842c0152 Removed all references to m<First,Last>ContentOffset,mChildCount,mLastContentIsComplete 1998-09-21 03:40:32 +00:00
troy%netscape.com 62b1375f69 Removed farme enumeration member functions for indexed access, last child,
and child count
1998-09-19 03:24:26 +00:00
troy%netscape.com 29e5156e14 Removed nsIContentDelegate.h 1998-09-18 17:34:48 +00:00
troy%netscape.com 65269d3422 Frame construction changes for tables 1998-09-16 17:19:20 +00:00
buster%netscape.com 953b2efb58 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 37869e9464 integrates with new frame creation methods 1998-09-09 21:34:10 +00:00
buster%netscape.com 2e72b5b556 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 89e198237d 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 1781327873 empty rows now handled properly 1998-09-01 17:49:05 +00:00
peterl%netscape.com 12d7adf11e remove text attribute processing 1998-08-27 00:56:17 +00:00
troy%netscape.com a09b9a211e 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 5fb7fd0dc2 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 714146a525 rounding support 1998-07-31 23:34:45 +00:00
buster%netscape.com ff35c20a64 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 fb448713fb empty cells do not render border or background color 1998-07-27 07:37:57 +00:00
peterl%netscape.com 2207f21400 factored backgound finding code to nsStyleUtil 1998-07-23 18:05:03 +00:00
troy%netscape.com 048270ffb0 Changed PaintBorder() to use the (x,y) that's passed in 1998-07-22 05:02:07 +00:00
troy%netscape.com 789a2dbe45 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 109b0e1a4d 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 51fe86ee79 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 8a146ed86e Fix incremental reflow bug 1998-07-16 22:15:02 +00:00
troy d660868bc2 Changed API for CreateContinuingFrame and GetReflowMetrics to take
a reference to a nsIPresContext
1998-07-15 03:23:23 +00:00
troy a90fe8e1de Changed Reflow() member function to take a reference to a nsIPresContext
instead of a pointer
1998-07-15 02:53:09 +00:00
buster d00c767f83 for Nav compatibility, 0-width cells do not have insets 1998-07-13 20:41:38 +00:00
buster 2eb1eecd14 added Nav4 compatibility code for 0-width cells 1998-07-13 19:22:45 +00:00
buster 3e596fc26a 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 97ae834b23 Deprecated the SetFirstContentOffset/SetLastContentOffset member
functions that take a nsIFrame*
1998-07-10 19:04:06 +00:00
buster 72142b30f4 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 5135afe659 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 b54c4bdc95 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 1f0d9a91f1 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 705daa1418 minor tweaks for table layout 1998-06-29 03:09:14 +00:00
buster 471f5b46a8 support for Nav4 compatibility -- auto-width cells with 0-width content are 1 pixel wide 1998-06-26 23:31:33 +00:00
buster d7cca42032 fixed some nested table bugs and made some minor adjustments to Kipp's new line layout code. 1998-06-26 00:48:44 +00:00
troy d8ba6d4919 Changed to make sure we link the child frame into the list of frames before
we reflow it
1998-06-24 16:35:21 +00:00
buster aca4c96fbe lots of nested tables look much better
misc. nav4 compatibility enhancements
added the ability to QueryInterface for some specific table frame types
1998-06-23 23:23:21 +00:00
buster 288d645ae3 Separated table content from table layout. This paves the way for XML/CSS-2 tables.
Lots and lots of optimizations.
1998-06-17 16:38:24 +00:00
buster 9034e41c54 continuing work to separate content from frames 1998-06-11 15:46:37 +00:00
buster 2d31c54583 some tentative steps towards content/frame separation in tables 1998-06-11 00:13:18 +00:00
troy 66b6882d23 Added nsIReflowCommand interface 1998-06-09 04:51:44 +00:00
peterl 91c5893512 sync up to new style data apis 1998-06-05 06:09:09 +00:00
buster 07076ff7cf cell width calculations are working (not for colspan cells yet)
some bug fixes and optimizations
some of the more elaborate test cases are closer to Nav4-compatible
1998-06-05 02:36:25 +00:00
buster 3780538b44 a variety of fixes and optimizations
together with a fix troy just checked in, this makes a lot of real-world tables look a whole lot better
1998-06-03 00:43:53 +00:00
troy 7a485fcc40 Changed nsReflowState structs to be linked together 1998-05-29 20:36:05 +00:00
troy 27c2f0230b Added WillReflow() calls around reflowing of child frame 1998-05-28 18:37:56 +00:00
peterl 613e577b7d added visibility style attribute 1998-05-26 23:17:29 +00:00
kostello e1dc943664 Updated Table Border code to render HTML3.2 compatible borders (no longer using the cool,
CSS borders).
Fixed Table but submitted by Isaac David Guedalia <daniel_sh@gezernet.co.il>.
1998-05-26 20:57:24 +00:00
troy 3ea1d2d8e3 Merged ResizeReflow() and IncrementalReflow() into one Reflow() member function 1998-05-25 17:31:49 +00:00
kostello 193764594a * Added Support for cell spacing
* NOTE: due to changes in the style system -- things won't look correct right away.
1998-05-21 23:43:18 +00:00
peterl 7168f94691 Changed GetStyleData to use an enum instead of an nsID 1998-05-21 02:34:13 +00:00
michaelp d55497643c added gamma correction methods to the device context. the windows rendering context now
gamma corrects colors. fixed tablecellframe to call the right nsStyleCoord constructor.
1998-05-13 18:15:06 +00:00
peterl 9bc80be166 sync to new spacing apis 1998-05-12 22:28:01 +00:00
troy 5b69e1f043 Change to nsIFrame API 1998-05-12 04:17:56 +00:00
kipp 519a6403a4 Ported to new CreateFrame/CreateContinuingFrame APIs 1998-05-07 00:08:20 +00:00
troy d477d86672 Frames no longet store the content index-in-parent 1998-05-05 23:56:50 +00:00
troy b6217c70a6 Changed body to create block pseudo-frame instead of a column pseudo frame,
and hooked up the reflow appended code
1998-05-03 03:51:48 +00:00
kostello 8f901ec3a2 Cleaned up getting attribute values 1998-05-01 21:55:36 +00:00
kostello 150ca7f331 Made SetStyleContext take the presentation context as a parameter
Made DidSetStyleContext virtual, since we need to override the behavior in subclasses
Moved attribute setting logic from nsTableCell to nsTableCellFrame
Table Borders are being drawn again : )
Table Padding is being displayed
1998-05-01 20:44:55 +00:00
buster dcc6e9e245 lots of pre-conditions and asserts added
fixed a bug in layout having to do with sizing cells in columns that are spanned into
1998-04-30 00:27:59 +00:00
peterl fc1f06f9c2 changed nsStyleText to use nsStyleCoord 1998-04-28 23:57:01 +00:00
kipp 1fb3e42519 Use PERCENT instead of PCT in style constants; udpated usage of vertical alignment information in nsStyleText 1998-04-27 21:26:48 +00:00
kipp 93fdfbe671 Port to removal of nsStyleMolecule 1998-04-25 18:48:48 +00:00
buster 9481637fae table header and footer rowgroups placed properly, replicated across continuing tables
some pagination fixes, including a hack to make negative available heights = 1.
1998-04-23 17:29:07 +00:00
peterl c6fc3d1e32 WIP moving margin, border & padding out of nsStyleMolecule
Switch to nsIPtr for style context ptrs to eliminate leaks
1998-04-22 06:37:57 +00:00
buster 073e82f152 table performance and minor bug fixes. 1998-04-20 22:49:15 +00:00
troy 3ce8e88882 Changed nsIFrame member functions to return a nsresult 1998-04-17 01:41:24 +00:00
kipp 098bef52b4 moved to pub 1998-04-13 20:24:54 +00:00