Commit Graph

37 Commits

Author SHA1 Message Date
L. David Baron
b401e8f1d5 Convert nsBlockReflowState::mFloatCombinedArea and part of nsBlockFrame to split overflow areas. (Bug 542595, patch 9) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
fantasai
4b31319f01 Change coordinate system in the float manager from content box (most of the time, but sometimes border box) to always border box. (Bug 551425) r=dbaron a2.0=blocking+ 2010-08-11 12:32:53 -07:00
L. David Baron
6d279b0435 Rename float continuations to pushed floats. (Bug 563584, patch 33) r=roc
This patch was generated with the following sed commands on layout/generic/*.{h,cpp}: 's/FLOAT_CONTINUATION/PUSHED_FLOAT/g;s/FloatContinuation/PushedFloat/g;s/float continuation/pushed float/g' plus whitespace fixup where the frame state bits are defined.
2010-08-05 21:59:20 -07:00
L. David Baron
5deb652621 Add bit to lines indicating that they may have a placeholder for a float that was pushed to the next line (and bump the child count up to 32 bits). (Bug 563584, patch 24) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
4a3f5d15df Remove aReflowStatus parameters made unnecessary by previous patch. (Bug 563584, patch 20) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
5247c76404 Do the same for PlaceBelowCurrentLineFloats: don't propagate the truncation of a float into the line's reflow status. (Bug 563584, patch 18) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
867d31744c Don't propagate the float's reflow status through places that expect an inline's reflow status, to avoid the assertion for which bug 563584 was filed. This separates pushing of floats from pushing of lines, and allows first-in-flow floats to be pushed to the next page without their associated line. (Bug 563584, patch 17) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
e714f071f9 Manage float continuations to-be-pulled by the next-in-flow better by keeping them in a separate frame list until they're actually pulled. (Bug 563584, patch 13) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
99f4849c65 Track which frames were float continuations that need to be pulled to the next block rather than figuring it out again when it's time to pull them. (This allows first-in-flows to be float continuations.) (Bug 563584, patch 12) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
4f730231c6 Don't try to clear pushed floats when computing the final size of blocks. Fixes scrollbar on layout/reftests/bugs/563584-6-columns.html . (Bug 563584, patch 11) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
353538a3ba Most of CanPlaceFloat is unnecessary given the float placement rules (in particular, that the top of a float cannot be higher than the top of any prior left or right float) and the fact that we now split floats. (Bug 563584, patch 3) r=roc 2010-08-05 21:59:18 -07:00
L. David Baron
11f75cf522 Remove aForceFit/aRelaxHeightConstraint concept from float reflow, since we now split floats rather than push them to the next page (and correct propagation of nsHTMLReflowState::mFlags::mIsTopOfPage will force fitting when we need to). (Bug 563584, patch 2) r=roc 2010-08-05 21:59:18 -07:00
Daniel Holbert
16a6a6205f Bug 503961: Initialize block-reflow-state's nsOverflowContinuationTracker a little later, so that it doesn't end up with stale overflow-list pointers. r=fantasai r=roc 2009-09-13 17:26:01 -07:00
fantasai
d5c48032c3 Bug 492627 - Remove Placeholder Continuations [Part V: Reimplement float splitting without placeholder continuations] r=roc 2009-08-31 11:25:36 -07:00
fantasai
973c4e83aa Bug 492627 - Remove Placeholder Continuations [Part IV: Switch float layout APIs to pass float directly, without placeholder] r=roc 2009-08-31 11:25:35 -07:00
L. David Baron
7c71744210 Fix bug 25888 for inline frames other than bullets: redo line reflow when the line's height pushes it into the way of other floats. (Bug 25888) r+sr=roc 2009-05-20 07:21:34 -04:00
L. David Baron
78f084eb30 Merge InitFloat into AddFloat (on nsLineLayout and nsBlockReflowState). (Bug 25888) r+sr=roc 2009-05-20 07:21:34 -04:00
Arpad Borsos
70e2e8c94a Bug 492937 - kill nsLineLayout::mPlacedFloats and related code; r+sr=roc 2009-05-14 11:31:35 +02:00
L. David Baron
e4a4e2453e Use a struct containing a rectangle and a boolean for float available space rather than passing them around separately. (Bug 25888) r+sr=roc 2009-04-08 13:52:37 -07:00
L. David Baron
f63606188b 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
b901f2cb67 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
9bba032aed 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
5e6c45ce6a 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
84174c3b60 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
eee42cfdd7 Replace space manager with a more limited float manager. (Bug 191448) r+sr=roc
--HG--
rename : layout/generic/nsSpaceManager.cpp => layout/generic/nsFloatManager.cpp
rename : layout/generic/nsSpaceManager.h => layout/generic/nsFloatManager.h
2009-01-04 19:39:54 -05:00
L. David Baron
57a8e776d8 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
8ff4467f78 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
446ada92bc 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
dbaron@dbaron.org
31fad3f842 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
dbaron@dbaron.org
0cc180b641 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
mats.palmgren@bredband.net
5a624fe0b5 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
dbaron@dbaron.org
8967a5c8bd 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
dbaron@dbaron.org
b6cd4ed827 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
tglek@mozilla.com
fdf793303e Clean up prbool misuse in layout. bug 398312, r+sr+a=dbaron 2007-10-09 17:00:05 -07:00
roc+@cs.cmu.edu
61373b8418 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
sharparrow1@yahoo.com
c42eac0192 Bug 386142: fantasai's li'l Need More Comments bug. Patch by fantasai, r+sr=roc 2007-07-03 15:49:00 -07:00
hg@mozilla.com
465265d0d4 Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT, 2007-03-22 10:30:00 -07:00