dholbert%cs.stanford.edu
e0ca82aa1a
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 a=dveditz
...
git-svn-id: svn://10.0.0.236/trunk@258412 18797224-902f-48f8-a5cc-f745e15eee43
2009-09-17 19:06:27 +00:00
dbaron%dbaron.org
c89087138e
Compute widths for replaced block clearing past floats once we're at the correct vertical position. b=430813 r+sr=roc a=schrep
...
git-svn-id: svn://10.0.0.236/trunk@251144 18797224-902f-48f8-a5cc-f745e15eee43
2008-05-03 23:34:08 +00:00
dbaron%dbaron.org
d5574dc143
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
...
git-svn-id: svn://10.0.0.236/trunk@250238 18797224-902f-48f8-a5cc-f745e15eee43
2008-04-15 01:06:51 +00:00
mats.palmgren%bredband.net
2af0d1e32c
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
...
git-svn-id: svn://10.0.0.236/trunk@250155 18797224-902f-48f8-a5cc-f745e15eee43
2008-04-13 17:43:13 +00:00
dbaron%dbaron.org
35c09e2930
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+
...
git-svn-id: svn://10.0.0.236/trunk@245373 18797224-902f-48f8-a5cc-f745e15eee43
2008-02-10 21:50:05 +00:00
dbaron%dbaron.org
34753d1cd7
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+
...
git-svn-id: svn://10.0.0.236/trunk@244318 18797224-902f-48f8-a5cc-f745e15eee43
2008-01-29 07:41:28 +00:00
tglek%mozilla.com
1b2f5bc689
Clean up prbool misuse in layout. bug 398312, r+sr+a=dbaron
...
git-svn-id: svn://10.0.0.236/trunk@237496 18797224-902f-48f8-a5cc-f745e15eee43
2007-10-10 00:00:06 +00:00
roc+%cs.cmu.edu
cb8c6e3a11
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
...
git-svn-id: svn://10.0.0.236/trunk@231012 18797224-902f-48f8-a5cc-f745e15eee43
2007-07-26 04:03:31 +00:00
sharparrow1%yahoo.com
1fefb19635
Bug 386142: fantasai's li'l Need More Comments bug. Patch by fantasai, r+sr=roc
...
git-svn-id: svn://10.0.0.236/trunk@229291 18797224-902f-48f8-a5cc-f745e15eee43
2007-07-03 22:49:01 +00:00
bzbarsky%mit.edu
ee4ee8ea0b
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
git-svn-id: svn://10.0.0.236/trunk@220533 18797224-902f-48f8-a5cc-f745e15eee43
2007-02-18 23:53:25 +00:00
mats.palmgren%bredband.net
14e7266121
Rename IsSplittable() to GetSplittableType(). b=349973 r+sr=bzbarsky
...
git-svn-id: svn://10.0.0.236/trunk@217227 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 03:52:34 +00:00
roc+%cs.cmu.edu
08f7e2bd9a
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
...
git-svn-id: svn://10.0.0.236/trunk@216866 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 01:06:23 +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
roc+%cs.cmu.edu
b1ae3cf7e7
relanding fix for bug 317278 :-(
...
git-svn-id: svn://10.0.0.236/trunk@201179 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-29 01:19:48 +00:00
roc+%cs.cmu.edu
bd9175c940
Bug 237085. Move string subdivision code to gfx so we can efficiently make it metrics-dependent. r=smontagu,sr=rbs
...
git-svn-id: svn://10.0.0.236/trunk@200963 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-26 22:18:23 +00:00
roc+%cs.cmu.edu
d643001e93
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
...
git-svn-id: svn://10.0.0.236/trunk@200367 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-19 23:06:59 +00:00
roc+%cs.cmu.edu
fd309fa894
Backing out patch for 317278 due to Tp regression
...
git-svn-id: svn://10.0.0.236/trunk@200257 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-19 01:29:07 +00:00
roc+%cs.cmu.edu
6d142c7e60
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
...
git-svn-id: svn://10.0.0.236/trunk@200256 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-19 00:02:49 +00:00
roc+%cs.cmu.edu
cbc5855a71
Bug 282173. Remove BuildFloatList. r+sr=dbaron
...
git-svn-id: svn://10.0.0.236/trunk@193974 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-09 22:56:27 +00:00
dbaron%dbaron.org
b258ce85ca
Single line comments to describe files (helpful in LXR)
...
git-svn-id: svn://10.0.0.236/trunk@193203 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-29 18:29:03 +00:00
roc+%cs.cmu.edu
fe7bb3975b
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
...
git-svn-id: svn://10.0.0.236/trunk@191298 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-27 04:15:05 +00:00
roc+%cs.cmu.edu
b280811155
Backing out changes for bug 326944.
...
git-svn-id: svn://10.0.0.236/trunk@191296 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-27 03:22:03 +00:00
roc+%cs.cmu.edu
ede1364b21
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
...
git-svn-id: svn://10.0.0.236/trunk@191294 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-27 02:51:57 +00:00
roc+%cs.cmu.edu
ce1b9ce1d3
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
...
git-svn-id: svn://10.0.0.236/trunk@174836 18797224-902f-48f8-a5cc-f745e15eee43
2005-06-20 03:42:19 +00:00
roc+%cs.cmu.edu
0d1ac7f10f
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
...
git-svn-id: svn://10.0.0.236/trunk@172829 18797224-902f-48f8-a5cc-f745e15eee43
2005-04-28 21:25:11 +00:00
roc+%cs.cmu.edu
5efc210e97
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
...
git-svn-id: svn://10.0.0.236/trunk@172719 18797224-902f-48f8-a5cc-f745e15eee43
2005-04-26 02:26:12 +00:00
roc+%cs.cmu.edu
7f1a3c9c93
Bug 263825. Make paginated floats work, and other fixes. r+sr=dbaron
...
git-svn-id: svn://10.0.0.236/trunk@171036 18797224-902f-48f8-a5cc-f745e15eee43
2005-03-23 03:35:08 +00:00
roc+%cs.cmu.edu
2baddd70c5
Bug 276602. The rects added to the space manager are not real rects; they are still significant if empty. r+sr=dbaron
...
git-svn-id: svn://10.0.0.236/trunk@170257 18797224-902f-48f8-a5cc-f745e15eee43
2005-03-07 02:30:14 +00:00
roc+%cs.cmu.edu
d4a6c32e7b
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
...
git-svn-id: svn://10.0.0.236/trunk@165781 18797224-902f-48f8-a5cc-f745e15eee43
2004-11-25 14:51:00 +00:00
bryner%brianryner.com
865734bf2f
Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc
...
git-svn-id: svn://10.0.0.236/trunk@160184 18797224-902f-48f8-a5cc-f745e15eee43
2004-07-31 23:15:21 +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
dbaron%dbaron.org
c484400136
Remove BRS_NOWRAP. b=191699 r+sr=roc
...
git-svn-id: svn://10.0.0.236/trunk@149157 18797224-902f-48f8-a5cc-f745e15eee43
2003-11-11 19:24:01 +00:00
dbaron%dbaron.org
33601224e0
Use the correct term "float" instead of "floater". b=218654 r+sr=bzbarsky
...
git-svn-id: svn://10.0.0.236/trunk@147924 18797224-902f-48f8-a5cc-f745e15eee43
2003-10-13 21:51:02 +00:00
dbaron%dbaron.org
dc67cb5024
Add comments.
...
git-svn-id: svn://10.0.0.236/trunk@147761 18797224-902f-48f8-a5cc-f745e15eee43
2003-10-08 20:04:20 +00:00
roc+%cs.cmu.edu
f12a3fdf92
Bug 207477. Clean up nsBlockFrame, and don't suppress invalidation in nsBlockFrame::ReflowLine if it's a resize reflow. r+sr=dbaron
...
git-svn-id: svn://10.0.0.236/trunk@144867 18797224-902f-48f8-a5cc-f745e15eee43
2003-07-15 00:04:43 +00:00
dbaron%dbaron.org
28c762385d
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
...
git-svn-id: svn://10.0.0.236/trunk@139299 18797224-902f-48f8-a5cc-f745e15eee43
2003-03-11 23:56:49 +00:00
dbaron%dbaron.org
897a1a273b
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
...
git-svn-id: svn://10.0.0.236/trunk@138197 18797224-902f-48f8-a5cc-f745e15eee43
2003-02-22 16:19:31 +00:00
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
ffb8d9cca7
Change my email address from dbaron@fas.harvard.edu to dbaron@dbaron.org. Comment changes only.
...
git-svn-id: svn://10.0.0.236/trunk@135757 18797224-902f-48f8-a5cc-f745e15eee43
2003-01-01 23:53:20 +00:00
dbaron%fas.harvard.edu
a7efa8275b
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
...
git-svn-id: svn://10.0.0.236/trunk@135476 18797224-902f-48f8-a5cc-f745e15eee43
2002-12-19 00:12:08 +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
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
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
27b2245dbd
Bug 135146. Implement NS_FRAME_REFLOW_ROOT to allow reflows for <textarea> and <input type='text'> to be dispatched from the scroll frame within the nsGfxTextControlFrame2. r=kin, sr=attinasi
...
git-svn-id: svn://10.0.0.236/trunk@118697 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 01:13:41 +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
6d6d615a63
Fix floater state recovery to descend into blocks (which might contain floaters). b=106658 r=kin sr=waterson
...
git-svn-id: svn://10.0.0.236/trunk@108158 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-15 07:28:46 +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