161 Commits

Author SHA1 Message Date
dbaron%dbaron.org
a569c670f5 Replace computation of max-element-size (height and width) with max-element-width alone, since the max-element-height is practically unused and not meaningful for layout. b=186953 r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@136064 18797224-902f-48f8-a5cc-f745e15eee43
2003-01-09 14:26:32 +00:00
dbaron%fas.harvard.edu
10a7236c6a Correctly implement text-decoration in standards mode by drawing the underline on the element with the text-decoration property set. Refactor painting code a bit to avoid code duplication. Patch by Esben Mose Hansen <esben@oek.dk>, with paint refactoring and some other changes by dbaron. r=dbaron sr=bzbarsky b=1777
git-svn-id: svn://10.0.0.236/trunk@135099 18797224-902f-48f8-a5cc-f745e15eee43
2002-12-11 04:00:18 +00:00
karnaze%netscape.com
15faa7640c bug 127286 (part II due to cvs problems) - Handle splitting of floaters when lines impacting them are outside the block containing the floaters. sr=kin, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@134740 18797224-902f-48f8-a5cc-f745e15eee43
2002-12-04 00:58:52 +00:00
dbaron%fas.harvard.edu
d77395a3b9 Fix margin collapsing of margins other than the first child's top margin out of the top of a block. b=44242, 18206 r=roc (mostly)
git-svn-id: svn://10.0.0.236/trunk@134576 18797224-902f-48f8-a5cc-f745e15eee43
2002-11-28 19:29:28 +00:00
karnaze%netscape.com
31d587fa18 bug 127145 - split blocks with computed heights. a=asa, sr=kin, r=alexsavulov.
git-svn-id: svn://10.0.0.236/trunk@132320 18797224-902f-48f8-a5cc-f745e15eee43
2002-10-21 14:54:00 +00:00
karnaze%netscape.com
7e2beae782 bug 163614 - Changed DeleteChildsNextInFlow to DeleteNextInFlowChild, params, and callers. sr=kin, r=alexsavulov,dcone
git-svn-id: svn://10.0.0.236/trunk@131456 18797224-902f-48f8-a5cc-f745e15eee43
2002-10-08 20:35:26 +00:00
karnaze%netscape.com
35e78f4c8c bug 157915 - Use the parent of the continued frame when calling DeleteChildsNextInFlow. sr=kin, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@130380 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-24 22:13:20 +00:00
roc+%cs.cmu.edu
fe441abc3a Bug 75121. Incrementally reflow absolute frames without doing a resize-reflow of the container. Patch by dbaron and roc. r=dbaron,r=roc,sr=kin
git-svn-id: svn://10.0.0.236/trunk@130340 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-24 11:43:48 +00:00
dbaron%fas.harvard.edu
26e2cab608 Fix regression causing scrollbars not to be extended by absolutely positioned elements in some cases. Also removed unused |FixParentAndView|. b=154230 r=bzbarsky sr=jst
git-svn-id: svn://10.0.0.236/trunk@126501 18797224-902f-48f8-a5cc-f745e15eee43
2002-08-06 12:54:52 +00:00
karnaze%netscape.com
e1b0af4e1d bug 153785 - Added function to undo splitting floaters when the line they are on gets moved to the next page. Cached the break type of the last floater that gets split in the block reflow state so that the frame afterh the floater's continuation can combine that break type with its own. a=asa, sr=kin, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@125355 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-17 01:48:56 +00:00
dbaron%fas.harvard.edu
7c4652cc16 Split strict mode into almost-standards and full-standards mode, where the only quirk in almost standards mode is the quirky inline box model. Remove previous fix for bug 151620. Tweak mode detection to use almost-standards for XHTML Transitional, HTML 4.01 transitional with system ID, and for IBM system DOCTYPE. b=153032 r=karnaze, bzbarsky, harishd sr=waterson
git-svn-id: svn://10.0.0.236/trunk@124017 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 21:16:17 +00:00
karnaze%netscape.com
f849232aae bug 151620 - always use quirk line-height inside a td. sr=waterson, r=dbaron.
git-svn-id: svn://10.0.0.236/trunk@123624 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 22:28:47 +00:00
rods%netscape.com
b9882159d7 Add PR_LOGGING for printing
Bug 121622 r=dcone sr=kin


git-svn-id: svn://10.0.0.236/trunk@123612 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 21:51:13 +00:00
karnaze%netscape.com
924ea247db bug 148245 - only split floaters when printing if the height is constrained, never split floating first letters. sr=waterson
git-svn-id: svn://10.0.0.236/trunk@123316 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 14:30:33 +00:00
karnaze%netscape.com
49e0a9f4cb bug 145305 - split floaters during printing. sr=attinasi, r=alexsavulov.
git-svn-id: svn://10.0.0.236/trunk@122236 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-28 22:50:43 +00:00
waterson%netscape.com
5bae3657e6 Bug 129115. Change the reflow path from a list structure to a tree structure to amortize state recovery and damage propagation costs. Eliminate table timeout reflows. r=kin,karnaze,rods,rbs; sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@121265 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 18:22:41 +00:00
waterson%netscape.com
fc93436b44 Bug 138057. Eliminate nsBlockFrame::RememberFloaterDamage, instead recording the damage when we reflow the floater. This allows us to catch several cases that we weren't catching before, so we no longer need to dirty all the line boxes when an incremental reflow targeted at a float arrives. r=dbaron, sr=attinasi.
git-svn-id: svn://10.0.0.236/trunk@119984 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 19:19:39 +00:00
karnaze%netscape.com
d2766aacef bug 128804 - moved optimization of text controls to nsBlockReflowState and initialized it earlier. a=dbaron, sr=attinasi, r=alexsavulov.
git-svn-id: svn://10.0.0.236/trunk@116409 18797224-902f-48f8-a5cc-f745e15eee43
2002-03-12 15:48:52 +00:00
dbaron%fas.harvard.edu
4a32ed3c58 Bug 117374: nsBlockFrame::UpdateSpaceManager is no longer needed since nsBlockReflowState::RecoverFloaters does the same work.
Bug 113895:  Pass |aDeltaY| as 0 for recursive calls to RecoverFloaters.
b=117374  r=attinasi  sr=waterson


git-svn-id: svn://10.0.0.236/trunk@111448 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-06 18:14:00 +00:00
waterson%netscape.com
6357150a06 Bug 116230 et al; fix-on-a-fix for bug 91423. Don't always retarget to the primary frame: stop at the first continuation after a hard-break if there is one. Also, move retargeting to reflow state setup. r=rbs, sr=nobody.
git-svn-id: svn://10.0.0.236/trunk@111391 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-05 01:42:36 +00:00
waterson%netscape.com
6f61230818 Bug 117769. Remove vestigial |aStopPulling| parameter from nsBlockFrame::PullFrameFrom; clean up surrounding logic. r=dbaron, sr=attinasi.
git-svn-id: svn://10.0.0.236/trunk@111253 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-02 22:10:13 +00:00
waterson%netscape.com
b6978c3e09 Bug 115113. Eliminate nsIReflowCommand, and just use nsHTMLReflowCommand directly. r=karnaze, sr=attinasi.
git-svn-id: svn://10.0.0.236/trunk@110644 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-17 22:39:59 +00:00
evaughan%netscape.com
e5c8b10723 Facelift for nsBoxToBlockAdaptor -r hyatt -sr waterson #110328
Grid memory leak -r naving -sr hewitt #109490


git-svn-id: svn://10.0.0.236/trunk@109575 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-03 23:41:13 +00:00
bzbarsky%mit.edu
068756d821 Use NS_LITERAL_STRING instead of NS_ConvertASCIItoUCS2 where possible
(i.e. where the string is a literal).  Bug 104159, r=jag, sr=alecf


git-svn-id: svn://10.0.0.236/trunk@107987 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-14 01:33:42 +00:00
rods%netscape.com
85acd13711 Oops, I didn't mean to check this in, removing my change to turn it on again
git-svn-id: svn://10.0.0.236/trunk@107286 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-04 03:40:27 +00:00
rods%netscape.com
1100db8190 Initial check in for print preview work it is complied in for Windows and linix only
The bulk of print preview can be turned on/off with NS_PRINT_PREVIEW define
Bug 107562 r=kmcclusk sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@107260 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 14:59:39 +00:00
dbaron%fas.harvard.edu
7ddeb79974 Remove unnecessary XPCOM interface around nsSpaceManager. b=102453 r=jag sr=waterson
git-svn-id: svn://10.0.0.236/trunk@106331 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 05:06:07 +00:00
dbaron%fas.harvard.edu
8b3489a026 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


git-svn-id: svn://10.0.0.236/trunk@106224 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 01:08:40 +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
1540a4c12e bug 68998 - added extra param to Paint, PaintChild, PaintChildren used by tables in standard mode. sr=waterson, r=alexsavulov.
git-svn-id: svn://10.0.0.236/trunk@103193 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 12:35:19 +00:00
hyatt%netscape.com
4f51638ef4 Fix for 95475. r=jag, sr=ben, a=dbaron
git-svn-id: svn://10.0.0.236/trunk@101788 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-25 02:01:08 +00:00
dbaron%fas.harvard.edu
890ce3eef5 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
git-svn-id: svn://10.0.0.236/trunk@99561 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-19 02:33:43 +00:00
dbaron%fas.harvard.edu
d0e7b1d970 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
git-svn-id: svn://10.0.0.236/trunk@98602 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-04 02:00:05 +00:00
waterson%netscape.com
e26708f220 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.
git-svn-id: svn://10.0.0.236/trunk@95630 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-21 23:03:46 +00:00
rbs%maths.uq.edu.au
645dc9bd87 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
git-svn-id: svn://10.0.0.236/trunk@95526 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-19 09:53:59 +00:00
mjudge%netscape.com
6b6fa0b353 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


git-svn-id: svn://10.0.0.236/trunk@94613 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-11 08:04:29 +00:00
waterson%netscape.com
910bcb1705 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
git-svn-id: svn://10.0.0.236/trunk@93820 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-03 20:11:50 +00:00
waterson%netscape.com
703780058e Bug 77414. Break nsBlockReflowState out into its own files. sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@93523 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-01 04:22:57 +00:00
waterson%netscape.com
f387f03ec5 Bugs 76721, 76724. Remove vestigial |aDeltaY| argument from RecoverStateFrom() methods. Remove redundant implementation of GetAvailableSpace(). r=dbaron, sr=attinasi.
git-svn-id: svn://10.0.0.236/trunk@93358 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-28 02:34:58 +00:00
attinasi%netscape.com
056dac3c0b b=70731 r=dcone sr=waterson - fixes crasher while printing
git-svn-id: svn://10.0.0.236/trunk@89623 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-14 06:45:41 +00:00
rods%netscape.com
8b5d71dc38 Don't paint blocks that shouldn't be painted when printing
Bug 67296 r=kmcclusk sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@88901 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-08 02:46:44 +00:00
waterson%netscape.com
06336b484f Bug 71181. Revert attinasi's changes for bug 70730.
git-svn-id: svn://10.0.0.236/trunk@88831 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-07 20:15:35 +00:00
attinasi%netscape.com
35ec037877 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
git-svn-id: svn://10.0.0.236/trunk@88722 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-07 00:38:45 +00:00
rbs%maths.uq.edu.au
d9c1a81f37 Shift frame-state bits in implementations to the 12 higher bits - bug 68411 r=karnaze sr=waterson
git-svn-id: svn://10.0.0.236/trunk@87805 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-23 12:42:12 +00:00
buster%netscape.com
342b94a380 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


git-svn-id: svn://10.0.0.236/trunk@77051 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-24 04:26:43 +00:00
rbs%maths.uq.edu.au
fe6ee91829 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.
git-svn-id: svn://10.0.0.236/trunk@75038 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-28 09:18:15 +00:00
waterson%netscape.com
cf2a3109e3 Bug 44709. Maintain renumbering depth on stack, instead of in a global. r=roc+moz@cs.cmu.edu
git-svn-id: svn://10.0.0.236/trunk@75037 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-28 09:02:34 +00:00
waterson%netscape.com
86cf521ec9 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
git-svn-id: svn://10.0.0.236/trunk@74887 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-27 05:16:08 +00:00
dbaron%fas.harvard.edu
f756eb4076 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
git-svn-id: svn://10.0.0.236/trunk@73541 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:03:42 +00:00
buster%netscape.com
91f736fa91 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


git-svn-id: svn://10.0.0.236/trunk@72006 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-11 22:14:33 +00:00