68 Commits

Author SHA1 Message Date
dholbert%cs.stanford.edu
faa592c76f Bug 368504: Create and use DistributeWidthToColumns for colspan-width and table-width distribution. r+sr=dbaron a=blocking1.9+
git-svn-id: svn://10.0.0.236/trunk@243415 18797224-902f-48f8-a5cc-f745e15eee43
2008-01-18 04:18:22 +00:00
dbaron%dbaron.org
1ca9f3f372 Bug 300030: Move intrinsic width computation out of nsIFrame::Reflow and into its own methods on nsIFrame. Replace reflow reasons, types, and commands with dirty bits/notifications. Thanks to bzbarsky for almost all of the HTML form controls (mozilla/layout/forms) changes, and many others for help testing and patching. For detailed commit logs, see REFLOW_YYYYMMDD_BRANCH, where YYYYMMDD is one of 20061031, 20060830, 20060603, 20060302, 20060119, 20051011, 20050804, 20050429, 20050315, 20050111, and 20041213.
git-svn-id: svn://10.0.0.236/trunk@216738 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 05:38:33 +00:00
gerv%gerv.net
2ac510b678 Bug 236613: change to MPL/LGPL/GPL tri-license.
git-svn-id: svn://10.0.0.236/trunk@155068 18797224-902f-48f8-a5cc-f745e15eee43
2004-04-18 14:30:37 +00:00
jim_nance%yahoo.com
d0e0a7f7dd Fix Bug 236703 - Make the table layout code faster and smaller.
r=bernd sr=bzbarsky


git-svn-id: svn://10.0.0.236/trunk@154731 18797224-902f-48f8-a5cc-f745e15eee43
2004-04-12 23:51:33 +00:00
bmlk%gmx.de
6cc6a341d2 prescontext removal part 2 bug 229631 r/sr=roc
git-svn-id: svn://10.0.0.236/trunk@150768 18797224-902f-48f8-a5cc-f745e15eee43
2003-12-29 16:58:20 +00:00
bmlk%gmx.de
7eb545bb4e reduce prescontext usage in basic layout strategy bug 229457 r/sr=roc
git-svn-id: svn://10.0.0.236/trunk@150759 18797224-902f-48f8-a5cc-f745e15eee43
2003-12-28 17:02:40 +00:00
dbaron%dbaron.org
e6a2b29ebf Remove nsISizeOfHandler and associated SizeOf methods. b=106792 r=bzbarsky sr=jst
git-svn-id: svn://10.0.0.236/trunk@138193 18797224-902f-48f8-a5cc-f745e15eee43
2003-02-22 15:34:38 +00:00
karnaze%netscape.com
430941b018 bug 41262 - new table border collapsing code. sr=attinasi, r=alexsavulov.
git-svn-id: svn://10.0.0.236/trunk@114937 18797224-902f-48f8-a5cc-f745e15eee43
2002-02-19 15:48:28 +00:00
gerv%gerv.net
13afb6d0f9 Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089.
git-svn-id: svn://10.0.0.236/trunk@104119 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 20:14:13 +00:00
karnaze%netscape.com
dc533afd4b bug 92647 - Added static UpdateCol and call it when a cell changes width even though a rebalance is not needed. Stopped storing fix width in col as max of min and fix. sr=attinasi, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@100393 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-06 13:58:46 +00:00
bernd.mielke%snafu.de
2ca7d9b2aa bug 45486 fixing percent colspans iterate over from the inner to the outer colspan
cleanup in header files, some documentation, removing cruft
bug 55694 use reflowstate.availwidth if is usefull
r=karnaze sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@99323 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-16 19:15:01 +00:00
karnaze%netscape.com
c76866e3ea table reflow coalescing, table reflow face lift. sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@89462 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-13 06:38:59 +00:00
karnaze%netscape.com
b45820e80c bug 67861 - don't rebalance table to calculate max width; cache last available width in outer table; improved debug reflow timing; sr=attinasi, r=peterl
git-svn-id: svn://10.0.0.236/trunk@86475 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-07 04:31:38 +00:00
karnaze%netscape.com
40a59f1659 bugs 47163, 60807 and others, sr=buster
simplified BasicTableLayoutStrategy's CalculateTotals and CanAllocate
better calculation of proportional cols
calculation of adjusted widths due to colspans honors the fixed and pct widths of cols being spanned


git-svn-id: svn://10.0.0.236/trunk@83859 18797224-902f-48f8-a5cc-f745e15eee43
2000-12-19 20:29:46 +00:00
karnaze%netscape.com
ed7846789e bug 53891 - strategy correctly calculates preferred width of a fixed width table. a=buster, r=dcone.
git-svn-id: svn://10.0.0.236/trunk@80541 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-06 01:04:13 +00:00
karnaze%netscape.com
3a14935f89 bug 14929 - Reallocate colspan adjusted col widths when there is a percent col being spanned.
git-svn-id: svn://10.0.0.236/trunk@78566 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-09 01:46:44 +00:00
karnaze%netscape.com
ba59a76950 bug 27529 - round column allocations to even pixel value. bug 18955 - don't allocate a col based on desired content if there is a fixed value. r=peterl.
git-svn-id: svn://10.0.0.236/trunk@77825 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-01 01:29:50 +00:00
karnaze%netscape.com
f1700ddd48 bug 29459 - strategy's table min and max width is calculated to include
percent and proportional cells. Stopped caching it. Calculate max element size better.


git-svn-id: svn://10.0.0.236/trunk@68947 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-10 00:54:00 +00:00
karnaze%netscape.com
19635b17c5 bug 10636, 15499(partial) - correctly get margin,border,padding from reflow info. calculate it for percentage padding when reflow state not available. r=troy
git-svn-id: svn://10.0.0.236/trunk@60564 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-12 01:55:40 +00:00
karnaze%netscape.com
33c20babf3 bug 17826, removed buggy/unnecessary RecomputeAdjustedMinIfNecessary, r=attinasi
git-svn-id: svn://10.0.0.236/trunk@59448 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-02 00:48:30 +00:00
troy%netscape.com
60471abd92 b=21657 a=chofmann@netscape.com Made "overflow list" a full fledged
child list and changed ReparentFrameView() to check it.


git-svn-id: svn://10.0.0.236/trunk@58373 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-22 01:16:50 +00:00
karnaze%netscape.com
6ffe908f39 incremental cell map, columns. Bugs 12122, 21544. r=troy,hyatt a=hofmann
git-svn-id: svn://10.0.0.236/trunk@55939 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-13 22:56:31 +00:00
dmose%mozilla.org
92d791b7b0 updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52908 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:40:37 +00:00
karnaze%netscape.com
49e55fa057 bugs 17138, 17168 and others - col allocation involving colspans honors constraints; pct colspans were allocating incorrectly if pct cols existed.
git-svn-id: svn://10.0.0.236/trunk@52879 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 22:36:59 +00:00
karnaze%netscape.com
c3e71c904f column allocation does fixed and adjusted fixed (colspans) in separate steps. Simplified AllocateConstrained. Fixed bug 14332.
git-svn-id: svn://10.0.0.236/trunk@49714 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 05:19:32 +00:00
troy%netscape.com
4e1923d3ad Hooked up SizeOf() for cell map and table layout strategies. Also added in
some table frame data that was missed


git-svn-id: svn://10.0.0.236/trunk@49622 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-02 00:02:54 +00:00
karnaze%netscape.com
ecc88ac54d bug 11944 - row group is properly offset using table border. cleaned up new incremental reflow methods.
git-svn-id: svn://10.0.0.236/trunk@43899 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-20 23:27:54 +00:00
karnaze%netscape.com
5e4439a661 Added new incremental reflow methods.
CellData keeps track of row versus col spans.
nsColFrame keeps track of what cell contributed to constrained width.
nsCellMap::GetCellFrameAt replace with GetCellInfoAt
simplified nsTableCellFrame::RecalcLayoutData and removed FindLargestMargin, CalculateMargins, CalculateMargins
simplified nsTableFrame::RecalcLayoutData and removed AppendLayoutData
Added gsDebugReflow capability, remove all existing debug printf


git-svn-id: svn://10.0.0.236/trunk@43641 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-19 19:52:37 +00:00
karnaze%netscape.com
382b9863de new nsCellMap, BasicTableLayoutStrategy, plus various fixes to table
frames while testing the new cell map and strategy


git-svn-id: svn://10.0.0.236/trunk@41454 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-28 08:09:02 +00:00
karnaze%netscape.com
f286a1e3c4 bug 7243. Rewrote FixedTableLayoutStrategy::AssignPreliminaryColumnWidths
git-svn-id: svn://10.0.0.236/trunk@33487 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:42:33 +00:00
karnaze%netscape.com
703e798b06 Rewrote DistributeRemainingSpace a 2nd time and added compat mode.
bug 6068, 6933. nsTableRowGroupFrame::CalculateRowHeights - changed row spans to consider
top and bottom margins during height calculations. Calculations using percentages ensure that the sum of
rows sum exactly to excess.

bug 6404 BasicTableLayoutStrategy::BalanceColumnsConstrained cols in span other than 1st col was
not getting additional allocations from cell. ::DistributeRemainSpace uses max width of col
instead of max effective width. Also added checks for negative value during percentage calculations.


git-svn-id: svn://10.0.0.236/trunk@32755 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:22:23 +00:00
karnaze%netscape.com
d6b03337dc support for css padding in table cells
git-svn-id: svn://10.0.0.236/trunk@32042 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 05:18:16 +00:00
karnaze%netscape.com
7ba719a0eb bug 6184 - reworked alogrithm for reallocating space to auto width columns.
git-svn-id: svn://10.0.0.236/trunk@30937 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-10 19:23:09 +00:00
kipp%netscape.com
9b917419dc COMized nsIPresShell and nsIPresContext
git-svn-id: svn://10.0.0.236/trunk@20570 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-12 17:45:58 +00:00
buster%netscape.com
061ed664e2 just documentation
git-svn-id: svn://10.0.0.236/trunk@17291 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 02:16:10 +00:00
buster%netscape.com
aeee0e2b41 irrationally-specified table (one where the width attributes of various rows don't add up to the same value,
and/or to the width attribute on the table itself), the rule is to try to give the column the largest value
assigned to it by any cell intersecting that column.
Separate storage is maintained for a column's natural desired width (width from any source other than a cell
with a colspan) and the maximum contribution to the column's width from any cell with a colspan.


git-svn-id: svn://10.0.0.236/trunk@14732 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 06:46:00 +00:00
buster%netscape.com
1e16c84e01 fixes Bug 1110, URL=http://www.webstandards.org
ables were not correctly applying the min width of the content of cells
that had col spans in some cases.  In this case, the nested table was specified
as being too narrow for the content.  There were 4 columns each with width=25%
in the first row, and in the next row a single cell with colspan=4 and whose
content min size was wider than the specified table width.


git-svn-id: svn://10.0.0.236/trunk@13394 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-23 19:56:11 +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
c6417cadce support nsTableOuterFrame incremental reflow
git-svn-id: svn://10.0.0.236/trunk@12441 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-09 19:59:45 +00:00
buster%netscape.com
206051c0e7 fixed coord-width colspan handling in some complex cases
git-svn-id: svn://10.0.0.236/trunk@11796 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-02 20:34:11 +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
buster%netscape.com
c82e3e07ed much better backwards compatibility for autowidth tables
now autowidth columns as assigned a width starting from their minimum.  The remaining
space is proportionately divided among them, never allowing a column to go over its max (for
autowidth tables only.)


git-svn-id: svn://10.0.0.236/trunk@11671 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-01 18:39:31 +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
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
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
buster%netscape.com
b7b8a5e07f * migrated and improved some fixes from the branch to the tip
* fixes sample6, yahoo resizing
* added BasicTableLayoutStrategy::ColIsSpecifiedAsMinimumWidth helper function,
which tells us if the given column has a width attribute that means "make me as small as possible"
* nsTableFrame methods now no longer use mCellMap directly, they ask for it from
GetCellMap which gets the cell map from the first-in-flow.  Only the first-in-flow has a
cell map because the cellmap refers to the table as a single object, not to each table frame.
* Likewise, continuing table frames do not call BalanceColumnWidths or SetTableWidth
which are "global" operations.  Responsibility for these lies with the first-in-flow.


git-svn-id: svn://10.0.0.236/trunk@8020 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 16:16:43 +00:00
buster%netscape.com
a228539105 made auto-width tables that have all-fixed-width columns act like
fixed-width tables.


git-svn-id: svn://10.0.0.236/trunk@7064 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-01 20:31:40 +00:00
buster%netscape.com
7a18ab6e6c fixed cases where we were not computing the table width correctly
fixed cases where we were inappropriately portioning out
a spanning cell's min width to the columns it spanned.


git-svn-id: svn://10.0.0.236/trunk@7011 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-01 02:31:55 +00:00
buster%netscape.com
c017339e1c much better handling of tables who have fixed-width columns that make the table wider than it is allowed to be
added some sanity checking in BalanceColumnWidths be ensure that a column width
can never be less than the minimum element in that column.


git-svn-id: svn://10.0.0.236/trunk@6507 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-27 02:15:37 +00:00
buster%netscape.com
73c07a04f5 completed AdjustTableThatIsTooWide, now gets the table down to the right width.
git-svn-id: svn://10.0.0.236/trunk@6321 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-23 21:55:45 +00:00