Commit Graph

234 Commits

Author SHA1 Message Date
dbaron@fas.harvard.edu
4b1de618fc Bug 86947:
Make the line list doubly linked and access it through a list class and iterators.
Stop recomputing margins on all of the children of each block in the reflow chain (which causes O(N^2) state recovery during incremental reflow).  Instead, add a second dirty bit to the lines and walk backwards through the line list to recompute vertical margins only when either dirty bit is set and the previous line was not reflowed.  Add nsIFrame::IsEmpty to identify frames through which margins collapse.
Fix O(N^2) propagation of float damage by maintaining a set of intervals damaged by floats (bug 61962) and be sure to damage the correct areas (bug 48138).
Introduce nsCollapsingMargin to do correct collapsing of combinations of positive and negative margins (bug 50142).
Clean up some odds and ends and fix another smaller O(N^2) problem in nsBlockFrame::AddFrames.
r=attinasi, rbs  sr=waterson
2001-10-25 01:08:40 +00:00
gerv@gerv.net
58d409fba9 Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089. 2001-09-28 20:14:13 +00:00
karnaze@netscape.com
5b7e018561 bug 68998 - added extra param to Paint, PaintChild, PaintChildren used by tables in standard mode. sr=waterson, r=alexsavulov. 2001-09-19 12:35:19 +00:00
hyatt@netscape.com
7a898f35d2 Fix for 95475. r=jag, sr=ben, a=dbaron 2001-08-25 02:01:08 +00:00
dbaron@fas.harvard.edu
b46d1c0dfe Make the width of floats with |width: auto| depend only on the width of the containing block and the contents of the float and not on the available space. Remove the loop calling ReflowFloater at different positions that is no longer needed, and remove the caching of the max element size for that loop that was not being invalidated correctly between reflows. Fix handling of margin, border, and padding for computation of available width for |width: auto| floaters. r=attinasi sr=waterson b= 85876, 82314, 82315, 85216, 85874, 86746 2001-07-19 02:33:43 +00:00
dbaron@fas.harvard.edu
c156662a18 Add some comments to code about issues that we should look at, remove some unused code, rename some unnecessarily-overloaded functions, fix some typos, and make a few minor style changes. b=88735 r=waterson sr=attinasi 2001-07-04 02:00:05 +00:00
waterson@netscape.com
888d51e4cf Bug 59200. Merge floater reflow and placement into FlowAndPlaceFloater() to deal with the fact that a floater may need to be reflowed as its 'pushed' to a new location. For auto-width floaters, ensure that the floater is not flowed at a width less than its max-element-size. Enforce CSS2 section 9.5.1 rule [2] by maintaining mLastFloaterY in the reflow state. r=rbs, sr=attinasi. 2001-05-21 23:03:46 +00:00
rbs@maths.uq.edu.au
68525e8119 Change the place where the ascent is grabbed in the case where the first line is a block. Needed to fix bug=78389 r=waterson 2001-05-19 09:53:59 +00:00
mjudge@netscape.com
c3101df3d2 62971 sr= hyatt r=kin/waterson fix for changing how we find the line given an event point
this will now do a binary search muuuch faster worst case than before
2001-05-11 08:04:29 +00:00
waterson@netscape.com
5c6e7f8d92 Bug 76727. Remove redundancy from BRS_ISINLINEINCRREFLOW optimization; take advantage of existing control flow. Also, correct misc misspelling. r=rbs@maths.uq.edu.au; sr=attinasi@netscape.com 2001-05-03 20:11:50 +00:00
waterson@netscape.com
7b3f285e70 Bug 77414. Break nsBlockReflowState out into its own files. sr=attinasi 2001-05-01 04:22:57 +00:00
waterson@netscape.com
ed2bf7bfe0 Bugs 76721, 76724. Remove vestigial |aDeltaY| argument from RecoverStateFrom() methods. Remove redundant implementation of GetAvailableSpace(). r=dbaron, sr=attinasi. 2001-04-28 02:34:58 +00:00
attinasi@netscape.com
a22ff40e2a b=70731 r=dcone sr=waterson - fixes crasher while printing 2001-03-14 06:45:41 +00:00
rods@netscape.com
4437d5acc9 Don't paint blocks that shouldn't be painted when printing
Bug 67296 r=kmcclusk sr=attinasi
2001-03-08 02:46:44 +00:00
waterson@netscape.com
15f3f616b3 Bug 71181. Revert attinasi's changes for bug 70730. 2001-03-07 20:15:35 +00:00
attinasi@netscape.com
fa42e93e4f Fix for printing crash when bulleted items have no bullet and we assume they do. Added assertion to help find the cause of the problem, and checks for null to prevent the crash. b=70730 r=dcone sr=waterson 2001-03-07 00:38:45 +00:00
rbs@maths.uq.edu.au
0529f0b074 Shift frame-state bits in implementations to the 12 higher bits - bug 68411 r=karnaze sr=waterson 2001-02-23 12:42:12 +00:00
buster@netscape.com
ef91ca7b14 bug 45152 (Typed text does not render in TextAreas with a horizontal scrollbar)
fixed by adding a flag in nsLineBox for the content of a line to mark it "forceInvalidate",
logic in nsLineLayout to set the line dirty for initial reflow of text frames,
and logic in block to check the new flag.
r=kin
2000-08-24 04:26:43 +00:00
rbs@maths.uq.edu.au
018edcc1cd Enable the code to export the baseline out of the block frame code to support 'vertical-article: baseline' in table-cells. bug 10207. a:waterson@mozilla.org. was r:buster@netscape.com. 2000-07-28 09:18:15 +00:00
waterson@netscape.com
e44caf1a76 Bug 44709. Maintain renumbering depth on stack, instead of in a global. r=roc+moz@cs.cmu.edu 2000-07-28 09:02:34 +00:00
waterson@netscape.com
0909469319 Bug 19051. Remove code that computed and maintained nsTextRun. Instead, compute 'next text' when required by crawling the frame tree in nsLineLayout::FindNextText(). r=roc+moz@cs.cmu.edu 2000-07-27 05:16:08 +00:00
dbaron@fas.harvard.edu
f24f8b81bd Fix bug 43882 (dogfood+) by removing special handling of empty P elements. (Most of the diffs are whitespace changes.) This also fixes bugs 43369, 43991, and 18050. However, it exposes a few other issues as well (the most important of which, nuking top margins on first *normal flow* children of BODY and TD, was previously fixed only in some cases, but shouldn't be hard to fix in general). r=waterson 2000-06-29 22:03:42 +00:00
buster@netscape.com
fe49ddcc95 fixed bug 41757
file also contains some debug only code (disabled), another bug fix (also disabled), the removal of
some obsolete code that was already #ifdef'd out, and a bunch of new comments
r=mjudge, waterson
2000-06-11 22:14:33 +00:00
rbs@maths.uq.edu.au
0d6146ed5d [#ifdef MOZ_MATHML: not yet part of default build]. Export the baseline out of the block frame code to support 'vertical-align: baseline' in table-cells. bug 10207. r:buster@netscape.com. a:waterson@mozilla.org 2000-06-05 08:24:18 +00:00
buster@netscape.com
a6ecd9c854 effectively removed area frame
work troy was holding in his tree
r=buster
2000-05-09 05:11:12 +00:00
troy@netscape.com
1192035ce7 b=36202 Patch from roc+moz@cs.cmu.edu that makes sure we invalidate if
necessary when pulling up frames
2000-04-19 03:12:13 +00:00
troy@netscape.com
9352b1709d Made FindLineFor() public because I need to call it from the HTML reflow
state code
2000-04-14 04:05:58 +00:00
buster@netscape.com
a88207dcc0 bug 29595 (and others)
fixes layout of pages where a single line is impacted by 2 or more floaters
r=troy
2000-03-22 23:19:10 +00:00
dbaron@fas.harvard.edu
0db3c15533 Fix event targetting bugs by using paint layers in GetFrameForPoint, testing for visibility, and trying GetFrameForPoint on additional views if one fails. r=joki@netscape.com(, hyatt@netscape.com) b=12232,20051,21304,24474,26785, and remaining issues from 23161. 2000-03-22 02:43:08 +00:00
troy@netscape.com
67f034175a b=21657 a=chofmann@netscape.com Made "overflow list" a full fledged
child list and changed ReparentFrameView() to check it.
2000-01-22 01:16:50 +00:00
nisheeth@netscape.com
bd43d81d01 r=troy. Reflow commands are now coalesced by block and inline frames. This fixes bug 985 in which we now generate 6 reflow commands instead of 257. 2000-01-12 08:28:24 +00:00
troy@netscape.com
42284c6625 More work on getting block frames to incrementally update their
maximum width
2000-01-08 03:58:27 +00:00
hyatt@netscape.com
9a7a1b27f7 Implementing a generalized recycler and arena for all layout frames. Hoping to improve
bug #9489.  Should also definitely fix bug #15916. r=troy
1999-12-04 23:49:50 +00:00
tbogard@aol.net
617bb737a6 Changed nsIPresContext& to nsIPresContext*. Changed nsEventStatus& to nsEventStatus*. Now more compatible with XPIDL. a=vidur r=scc 1999-11-24 06:03:41 +00:00
dmose@mozilla.org
796280940b updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:40:37 +00:00
kipp@netscape.com
bdcb9f258d r=troy; remove another 4 bytes from each block frame for a total of 10% today :-) 1999-11-03 00:42:12 +00:00
kipp@netscape.com
4b6dc3b71b r=troy; Shrink block frames by 4 bytes per instance by making the overflow-lines instance variable a frame property 1999-11-02 23:42:52 +00:00
troy@netscape.com
bf2283fba6 Moved a bunch of stuff out to a nsIFrameDebug interface 1999-11-01 22:12:45 +00:00
kipp@netscape.com
7f353bdd99 r=troy; reworked the way that blocks inside of inline elements are handled. It's all in the frame construction code now (bugs 15999, 16737) 1999-11-01 15:24:57 +00:00
troy@netscape.com
b8ef6465be Changed SetView/GetView to take an additional argument which is the
pres context
1999-10-26 04:44:41 +00:00
kipp@netscape.com
fdb00751c1 Fixed O(N^2) debug logic bug; speed up paint loop by avoiding painting too much now that we have combined-area (bug 7455, 12297) 1999-10-19 23:04:19 +00:00
peterl@netscape.com
419e62fca8 Added namespace ID to the AttributeChanged notification
Part fo the fix for Bug 15153
r=troy
1999-10-15 23:16:45 +00:00
kipp@netscape.com
1a9b3fe785 r=troy; Cleaned up line-box API (prep work for bug #12297; more coming); Support new line iterator API change (#16176) 1999-10-12 23:24:22 +00:00
troy@netscape.com
efbc5776ce Frame space reductions. r=kipp@netscape.com
Table cell frames and table caption frames now use block frames and not area
frames. This saves 24 bytes per frame instance
1999-10-08 04:32:46 +00:00
peterl@netscape.com
2000556ef0 removed ReResolveStyleContext 1999-09-21 07:56:18 +00:00
kipp@netscape.com
51e8e8c7fe Fixed various bugs including incremental list reflow (9742) and some table bugs with right floaters 1999-09-17 23:16:43 +00:00
kipp@netscape.com
7024a8e4de Fixed bugs 4572, 7400 and maybe 802 1999-09-16 19:56:36 +00:00
kipp@netscape.com
f65ea2499e Fixed various incremental reflow bugs (1764,12890,1910,2222) and list bullet painting bug (10675,13599) 1999-09-15 00:28:10 +00:00
kipp@netscape.com
0d0c583aac Updated SizeOf methods to not waste space when doing a non-debug build 1999-09-01 01:02:16 +00:00
kipp@netscape.com
3dbd670c62 Reimplemented SizeOf methods in some of the frame classes; partial rework of first-line handling snapshot 1999-08-31 03:09:40 +00:00