Commit Graph

540 Commits

Author SHA1 Message Date
L. David Baron
1b473f9486 Complete switch away from nsBlockReflowState::mAvailSpaceRect by removing the old members. (Bug 25888) r+sr=roc 2009-04-08 13:52:37 -07:00
L. David Baron
8e5a8817f7 Switch away from nsBlockReflowState::mAvailSpaceRect for reflow of child blocks. (Bug 25888) r+sr=roc 2009-04-08 13:52:37 -07:00
L. David Baron
5607fe20f6 Switch away from nsBlockReflowState::mAvailSpaceRect for reflow of child floats. (Bug 25888) r+sr=roc 2009-04-08 13:52:36 -07:00
L. David Baron
81177784f9 Switch away from nsBlockReflowState::mAvailSpaceRect in bullet reflow, and simultaneously refix bug 427370 in a way that also fixes bug 428810. (Bug 25888) r+sr=roc 2009-04-08 13:52:36 -07:00
L. David Baron
2e9870b4ee Begin removing mAvailSpaceRect and mBandHasFloats from nsBlockReflowState by converting the current state-mutation GetAvailableSpace to a getter GetFloatAvailableSpace to replace it, and reimplementing the state mutation in terms of the getter. (Bug 25888) r+sr=roc 2009-04-08 13:52:36 -07:00
L. David Baron
7c32f841de Replace space manager with a more limited float manager. (Bug 191448) r+sr=roc 2009-01-04 19:39:54 -05:00
L. David Baron
f2d241e914 Rename flags and methods from space manager to float manager. (Bug 191448) r+sr=roc 2009-01-04 19:39:54 -05:00
Robert O'Callahan
c943d535af Bug 457398. Don't treat empty lines as the first line for text-indent or first-letter/first-line purposes. r+sr=dbaron 2008-11-27 10:44:47 -08:00
Robert O'Callahan
221d348cf2 Allow floats to be placed on the current line even after nonzero-width inline content has been placed. Fixes an Acid3 layout bug. r+sr=dbaron 2008-06-11 11:53:22 +12:00
2cba0afc84 Compute widths for replaced block clearing past floats once we're at the correct vertical position. b=430813 r+sr=roc a=schrep 2008-05-03 16:33:36 -07:00
08ad459197 Fix bug 427129 / 377664: When displacing blocks that don't interact with floats around floats, displace the border box rather than the margin box. Fix bug 427782: Simultaneously, only displace when the width actually won't go down to an amount that fits (i.e., if it will go to an amount smaller than the intrinsic minimum width, let it). b=427129 r+sr=roc a=schrep 2008-04-14 18:05:17 -07:00
55ebb2e0ad The position of an outside bullet should not be affected by floats inside the principal block (this fixes most cases). b=427370 r+sr=dbaron a1.9=beltzner 2008-04-13 10:43:12 -07:00
fa9c906fce Stop using -moz-float-edge for list items, but offset the bullet position in the presence of floats. b=413840 (and numerous others) r+sr=roc a=blocking1.9+ 2008-02-10 13:49:24 -08:00
a45f66ce73 Push scrollframes, tables, and other blocks that don't participate in float formatting down when they don't fit next to floats. b=134706,349255 r+sr=roc a=blocking1.9+ 2008-01-28 23:40:05 -08:00
2927dedce8 Clean up prbool misuse in layout. bug 398312, r+sr+a=dbaron 2007-10-09 17:00:05 -07:00
e3742c090c Bug 379349. Add support for 'overflow containers' --- special frame continuations that do not map any content of their own, but serve only as containers for laying out children that overflowed their parents' content height. patch by fantasai, r+sr=eli,roc 2007-07-25 21:03:29 -07:00
571fce1f0d Bug 386142: fantasai's li'l Need More Comments bug. Patch by fantasai, r+sr=roc 2007-07-03 15:49:00 -07:00
bzbarsky@mit.edu
7228aea249 Make blocks whose ancestors are not blocks have the NS_BLOCK_MARGIN_ROOT and
NS_BLOCK_SPACE_MGR bits as necessary.  Bug 354600, r+sr=roc
2007-02-18 23:53:25 +00:00
mats.palmgren@bredband.net
1be7d32ec6 Rename IsSplittable() to GetSplittableType(). b=349973 r+sr=bzbarsky 2006-12-20 03:52:34 +00:00
roc+@cs.cmu.edu
c4094aacd6 Bug 359371. Don't leak overflowing frames if a bug occurs and we still have overflowing frames in an unconstrained reflow situation. r+sr=dbaron 2006-12-12 01:06:23 +00:00
dbaron@dbaron.org
d21cb374bd 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. 2006-12-08 05:38:33 +00:00
roc+@cs.cmu.edu
4186b95e02 relanding fix for bug 317278 :-( 2006-06-29 01:19:48 +00:00
roc+@cs.cmu.edu
ae8b9b80de Bug 237085. Move string subdivision code to gfx so we can efficiently make it metrics-dependent. r=smontagu,sr=rbs 2006-06-26 22:18:23 +00:00
roc+@cs.cmu.edu
82d39021c1 Bug 317278. Reland patch that reflows lines again if we detect some already-placed floats need to move to the next line. This time, with changes to nsSpaceManager's PushState/PopState infrastructure so that dynamic allocations are never required; the saved state is always stack-allocated by callers. r+sr=dbaron 2006-06-19 23:06:59 +00:00
roc+@cs.cmu.edu
ce045a290e Backing out patch for 317278 due to Tp regression 2006-06-19 01:29:07 +00:00
roc+@cs.cmu.edu
96dfde0118 Bug 317278. In some cases we push float placeholders from one line to the next after we have already placed their floats on the line. In such situations, reset the space manager and force the line to reflow again so those floats don't get placed. r+sr=dbaron 2006-06-19 00:02:49 +00:00
roc+@cs.cmu.edu
d236088d94 Bug 282173. Remove BuildFloatList. r+sr=dbaron 2006-04-09 22:56:27 +00:00
dbaron@dbaron.org
60eede3c11 Single line comments to describe files (helpful in LXR) 2006-03-29 18:29:03 +00:00
roc+@cs.cmu.edu
ddf6f9f2c6 Bug 256311. Improve block reflow performance in the presence of many empty lines, by being more aggressive about caching block and line emptiness state, and by stashing a reference to a line that we know has nothing but empty lines above it. Relanding because I accidentally backed it out. r+sr=dbaron 2006-02-27 04:15:05 +00:00
roc+@cs.cmu.edu
8f10cbef4b Backing out changes for bug 326944. 2006-02-27 03:22:03 +00:00
roc+@cs.cmu.edu
1081de420a Bug 256311. Improve block reflow performance in the presence of many empty lines, by being more aggressive about caching block and line emptiness state, and by stashing a reference to a line that we know has nothing but empty lines above it. r+sr=dbaron 2006-02-27 02:51:57 +00:00
roc+@cs.cmu.edu
5e94c3a7c5 Bug 186485. The nsLineBox maximum-width includes the block's left border-padding but not the right. r+sr=roc,a=asa,patch by Hideo Saito 2005-06-20 03:42:19 +00:00
roc+@cs.cmu.edu
50680378b1 Bug 288560. Set mIsTopOfPage for each column in a column set. Also, make it possible to force floats to fit by relaxing the space manager's height constraint if necessary. r+sr=dbaron,a=chofmann 2005-04-28 21:25:11 +00:00
roc+@cs.cmu.edu
cd9445084a Bug 174688. Don't apply top border-padding to block frames that aren't first in flow. Also, when a block is incomplete, ensure the frame extends to fill the entire available height. r+sr=dbaron,a=asa 2005-04-26 02:26:12 +00:00
roc+@cs.cmu.edu
51b95a1634 Bug 263825. Make paginated floats work, and other fixes. r+sr=dbaron 2005-03-23 03:35:08 +00:00
roc+@cs.cmu.edu
86d747ae90 Bug 276602. The rects added to the space manager are not real rects; they are still significant if empty. r+sr=dbaron 2005-03-07 02:30:14 +00:00
roc+@cs.cmu.edu
b9ae93961a Bug 209694. Major rework of margin-collapsing and clearance to match CSS 2.1 rules. Also includes major incremental reflow fixes for those situations. See the bug for details. rubber-stamp r+sr=dbaron 2004-11-25 14:51:00 +00:00
bryner@brianryner.com
6cde4639f0 Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc 2004-07-31 23:15:21 +00:00
gerv@gerv.net
a1ec040a65 Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-18 14:30:37 +00:00
dbaron@dbaron.org
4b2f1ba8a3 Remove BRS_NOWRAP. b=191699 r+sr=roc 2003-11-11 19:24:01 +00:00
dbaron@dbaron.org
9446ce805f Use the correct term "float" instead of "floater". b=218654 r+sr=bzbarsky 2003-10-13 21:51:02 +00:00
dbaron@dbaron.org
b4a61a8ecb Add comments. 2003-10-08 20:04:20 +00:00
roc+@cs.cmu.edu
547aa7de9b Bug 207477. Clean up nsBlockFrame, and don't suppress invalidation in nsBlockFrame::ReflowLine if it's a resize reflow. r+sr=dbaron 2003-07-15 00:04:43 +00:00
dbaron@dbaron.org
e0d645896e Remember the lowest floater top for CSS2 9.5.1 rule 5 (a float cannot be higher than earlier floats) on the space manager rather than the block reflow state so that it works across blocks sharing the same space manager. Save and restore it in the space manager's PushState and PopState to fix incremental reflow bug (177331). b=196919 r+sr=roc+moz Change PRIntn to PRInt32. b=115153 r+sr=bzbarsky 2003-03-11 23:56:49 +00:00
dbaron@dbaron.org
ea100487d6 Change the way we calculate max-element-width for blocks with floaters: stop trying (and sometimes failing) to ensure that there can always be text next to the floater. b=186593 r+sr=roc+moz 2003-02-22 16:19:31 +00:00
dbaron@dbaron.org
1c37d177d4 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 2003-01-09 14:26:32 +00:00
dbaron@fas.harvard.edu
8a88f30fc6 Change my email address from dbaron@fas.harvard.edu to dbaron@dbaron.org. Comment changes only. 2003-01-01 23:53:20 +00:00
dbaron@fas.harvard.edu
7afb0869ad Replace NS_BLOCK_WRAP_SIZE with making unconstrained-width reflow of frames with NS_BLOCK_SPACE_MGR consider the floats. This means we no longer use the overflow area for layout (other than the overflow property). Handle right floaters in unconstrained width reflow by just treating them as left floaters. b=172896 r+sr=roc 2002-12-19 00:12:08 +00:00
karnaze@netscape.com
e02d92db7a 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 2002-12-04 00:58:52 +00:00
karnaze@netscape.com
9f55d1024c 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 2002-07-17 01:48:56 +00:00