314 Commits

Author SHA1 Message Date
buster%netscape.com
67cffb963d fixed bug 1112 - form submission within a table sometimes doesn't work
because the form doesn't get a reflow command.  Now it does.


git-svn-id: svn://10.0.0.236/trunk@13378 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-23 17:24:57 +00:00
buster%netscape.com
37467e85ac just debug info
git-svn-id: svn://10.0.0.236/trunk@13336 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-22 21:59:13 +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
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
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
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
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
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
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
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
buster%netscape.com
28f1107062 set all the groundwork for FAST table layout based on CSS-2 table-layout property
git-svn-id: svn://10.0.0.236/trunk@10726 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-22 23:36:06 +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
buster%netscape.com
d92ddd9be2 added ColIsSpannedInto, ColHasSpanningCells
moved *IsSpannedInto and *HasSpanningCells into cellmap, giving us the oppurtunity
to easily cache results if we want.  These methods are still accessed through nsTableFrame.
changed nsTableFrame::GetCellAt to nsTableFrame::GetCellFrameAt to make it more clear what
the method returns:  a frame, not content.


git-svn-id: svn://10.0.0.236/trunk@10440 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-18 22:37:14 +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
752499e0be Removed some old commented out code
git-svn-id: svn://10.0.0.236/trunk@10341 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-18 02:28:12 +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
436c4b73a5 better handling of non-cell frames in rowFrames
support for the case where a nested table is in a cell that has colspan>1


git-svn-id: svn://10.0.0.236/trunk@10105 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-16 00:48:14 +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
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
buster%netscape.com
cb664f26da reimplemented cell map in terms of nsVoidArrays for incremental building.
the cellmap is now built incrementally, driven by nsTableRowFrame::InitialReflow


git-svn-id: svn://10.0.0.236/trunk@8888 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-31 21:23:28 +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
buster%netscape.com
663dc8e0c4 more content decoupling
support work for style optimizations
fixed a bug in table columns  -- the attribute repeat defaults to 1, not 0


git-svn-id: svn://10.0.0.236/trunk@8504 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 17:26:38 +00:00
buster%netscape.com
7adfe644b7 modified the resize reflow optimization so max element size is returned
if requested without triggering a reflow if the width hasn't changed.


git-svn-id: svn://10.0.0.236/trunk@8196 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 18:40:33 +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
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
buster%netscape.com
c5e030feb0 fixed a memory leak on a style context
git-svn-id: svn://10.0.0.236/trunk@7010 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-01 02:30:35 +00:00
kipp%netscape.com
101913b9b5 Remove most compiler warnings on IRIX
git-svn-id: svn://10.0.0.236/trunk@6756 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-29 20:19:08 +00:00
buster%netscape.com
a264875bff COLS attribute ignored if any column width info is specified (like <TD width=100>)
fixed lots of COLS related bugs.
handle min width spec (<TD width=0 or width=0% or width=0*>)
major fix to colspan handling


git-svn-id: svn://10.0.0.236/trunk@6493 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-26 04:23:01 +00:00
buster%netscape.com
5c09b61055 GetColCount now returns the effective column count of the table, adjusted
for nonsense COLSPANs at the edge of a table.  Fixed some bugs this uncovered
where the cell was being asked for its colspan attribute rather than the table
being asked for the cell's effective col span.


git-svn-id: svn://10.0.0.236/trunk@6402 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-24 16:51:16 +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
buster%netscape.com
97ce24b2ed fixed table width problems when there are colspanning cells
git-svn-id: svn://10.0.0.236/trunk@6154 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-22 05:38:41 +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
buster%netscape.com
26234a5a97 * reworked the way colspan and rowspans are handled in table layout strategy. We do less work, and we look better.
* fixed more margin code.  we're inching towards correctness.
* the width contributed by a colspanning cell is now proportionately distributed to the columns based on the columns "effective width"
* added logic for handling illegal COLS attribute on a table (like COLS=4 in a 3-column table).  See nsTableFrame::GetEffectiveCOLSAttribute()
* added logic for handling illegal COLSPAN attribute on a cell (like COLSPAN=4 in a 3-column table).  See nsTableFrame::GetEffectiveColSpan().  This is wrong, and will get reworked soon.
* added the ability for cell width attributes to effect column width like Nav4.


git-svn-id: svn://10.0.0.236/trunk@6145 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-22 03:53:43 +00:00
troy%netscape.com
6b933cd127 Changed Paint() to render the background if there is one
git-svn-id: svn://10.0.0.236/trunk@6025 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-20 23:56:17 +00:00
buster%netscape.com
2d3b42883a fixed a space leak/logic error handling colspans
added backwards compatibility for percent width tables inside of auto width tables (see http://webreview.com/wr/pub  warning:  you'll have to look at a local copy until
Troy/Vidur/somebody fixes an image problem.)


git-svn-id: svn://10.0.0.236/trunk@5842 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-17 21:02:28 +00:00
buster%netscape.com
8928761040 we now allow empty rows
git-svn-id: svn://10.0.0.236/trunk@5820 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-17 17:51:43 +00:00