Commit Graph

472 Commits

Author SHA1 Message Date
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
karnaze@netscape.com
7ce5d8ded3 bug 145305 - split floaters during printing. sr=attinasi, r=alexsavulov. 2002-05-28 22:50:43 +00:00
waterson@netscape.com
a7380946d3 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 2002-05-10 18:22:41 +00:00
waterson@netscape.com
f2b9f95943 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 2002-04-11 01:13:41 +00:00
karnaze@netscape.com
4ab209aff5 bug 128804 - moved optimization of text controls to nsBlockReflowState and initialized it earlier. a=dbaron, sr=attinasi, r=alexsavulov. 2002-03-12 15:48:52 +00:00
dbaron@fas.harvard.edu
aa92128509 Fix floater state recovery to descend into blocks (which might contain floaters). b=106658 r=kin sr=waterson 2001-11-15 07:28:46 +00:00
dbaron@fas.harvard.edu
d3f01c8c10 Remove unnecessary XPCOM interface around nsSpaceManager. b=102453 r=jag sr=waterson 2001-10-26 05:06:07 +00:00
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
dbaron@fas.harvard.edu
8d7a606fc8 Split nsHTMLReflowMetrics into a separate file (nsHTMLReflowMetrics.h rather than nsIFrame.h). b=64023 r,sr in {waterson, attinasi} 2001-08-01 01:27:50 +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
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
7ee5613eda Remove everything bug nsBlockReflowState declaration. Not part of the build. 2001-05-01 03:40:32 +00:00
waterson@netscape.com
537e5b49d8 Bug 76885. Removed redundant test from nsBlockFrame::ReflowDirtyChild(). sr=attinasi 2001-04-29 21:58:50 +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
hyatt@netscape.com
e797066f13 Fix for 77002. reviewers=jst,waterson,hixie,shaver,brendan,pavlov 2001-04-25 19:52:49 +00:00
attinasi@netscape.com
ef562af20f Fixed some bad code that was updating list position incorrectly when going from outside to inside. b=59086, r=karnaze@netscape.com sr=waterson@netscape.com 2001-04-09 23:13:31 +00:00
timeless@mac.com
5197e93c42 fix Bug 70989 Clean up lots of "shadows" and other common warnings
r=peterv, jst, ducarroz, edburns. sr=jst, shaver
2001-03-21 05:32:22 +00:00