55 Commits

Author SHA1 Message Date
fantasai.cvs%inkedblade.net
f493b19190 consider relevant overflow when balancing columns (fixes various crashes and hangs) b=404215 r+sr=roc a=beltzner
git-svn-id: svn://10.0.0.236/trunk@250437 18797224-902f-48f8-a5cc-f745e15eee43
2008-04-18 07:40:37 +00:00
fantasai.cvs%inkedblade.net
3a00ff8d0e paginate absolutely-positioned elements, b=154892 r+sr=roc a=roc
git-svn-id: svn://10.0.0.236/trunk@237057 18797224-902f-48f8-a5cc-f745e15eee43
2007-10-02 05:57:46 +00:00
sharparrow1%yahoo.com
3854a6354d Bug 383883: {inc} issues with block moving through non-moving float. r+sr+a=dbaron
git-svn-id: svn://10.0.0.236/trunk@232403 18797224-902f-48f8-a5cc-f745e15eee43
2007-08-20 20:07:50 +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
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
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
cebdd644df Bustage fix.
git-svn-id: svn://10.0.0.236/trunk@165783 18797224-902f-48f8-a5cc-f745e15eee43
2004-11-25 16:52:46 +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
a8191642ef Do inheritance without layout-dependent computations, per CSS2.1. Remove eStyleUnit_Inherit and nsStyleCoord::SetInheritValue. b=205790 r+sr=bzbarsky a=asa
git-svn-id: svn://10.0.0.236/trunk@149687 18797224-902f-48f8-a5cc-f745e15eee43
2003-11-24 19:46:25 +00:00
dbaron%dbaron.org
01d5186c80 Remove unneeded mIsTable member variable. r+sr=bzbarsky b=225902
git-svn-id: svn://10.0.0.236/trunk@149404 18797224-902f-48f8-a5cc-f745e15eee43
2003-11-16 21:12:17 +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
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
cd7f730327 Don't resolve the positive and negative parts of collapsing margins too early when collapsing through empty blocks. A few bits of other cleanup. b=172892 sr=bzbarsky r=kin
git-svn-id: svn://10.0.0.236/trunk@131355 18797224-902f-48f8-a5cc-f745e15eee43
2002-10-08 01:52:34 +00:00
karnaze%netscape.com
309cb4340b bug 149275 - Allocate reflow state and let ReflowBlock initialize it so the correct reflow state can be passed to DidReflow. Combined DoReflowBlock with ReflowBlock. sr=bzbarsky, r=alexsavulov.
git-svn-id: svn://10.0.0.236/trunk@128817 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-04 06:55:40 +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
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
karnaze%netscape.com
d8577654db bug 113424 - mechanism for percent height frames inside table cells to receive special height reflow. sr=attinasi, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@110006 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-07 14:51:12 +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
dbaron%fas.harvard.edu
d7836d6ff1 Split nsHTMLReflowMetrics into a separate file (nsHTMLReflowMetrics.h rather than nsIFrame.h). b=64023 r,sr in {waterson, attinasi}
git-svn-id: svn://10.0.0.236/trunk@100064 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-01 01:27:50 +00:00
dbaron%fas.harvard.edu
9359000a40 Header include dependency cleanup. b=64023 r=jag rs=brendan
git-svn-id: svn://10.0.0.236/trunk@99299 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-16 02:40:48 +00:00
pierre%netscape.com
8944a57fe0 Reinstate my changes that were backed out 10 days ago. #43457 split nsStyleSpacing into 4 smaller structures: nsStyleBorder, nsStylePadding, nsStyleMargin, nsStyleOutline. r=attinasi,sr=buster.
git-svn-id: svn://10.0.0.236/trunk@86533 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-07 09:57:26 +00:00
mcafee%netscape.com
644a6ffc68 Backing out pierre's change from 1/20 for performance reasons (66263). r=attinasi, a=granrose, phil
git-svn-id: svn://10.0.0.236/trunk@85463 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-25 02:58:12 +00:00
pierre%netscape.com
148e913722 #43457 split nsStyleSpacing into 4 smaller structures: nsStyleBorder, nsStylePadding, nsStyleMargin, nsStyleOutline. Review=attinasi. Pending Approval: buster.
git-svn-id: svn://10.0.0.236/trunk@85210 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-20 22:46:54 +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
dbaron%fas.harvard.edu
e84d5a00a5 Fix bug 42685, nsbeta2+. Revert percentage width calculations to the way they used to be, except for floats with auto widths. code=buster r=me
git-svn-id: svn://10.0.0.236/trunk@72611 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 03:47:49 +00:00
buster%netscape.com
86be006781 fixing a platform compile problem
git-svn-id: svn://10.0.0.236/trunk@72256 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:58:41 +00:00
buster%netscape.com
e8833a517e fixed nsbeta2+ bugs 42138 35772 37657 38157 40283 35964
r=waterson, rods


git-svn-id: svn://10.0.0.236/trunk@72241 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:15:59 +00:00
buster%netscape.com
ad08b5fc52 (forgot to check this in)
effectively removed area frame
work troy was holding in his tree
r=buster


git-svn-id: svn://10.0.0.236/trunk@68813 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-09 05:28:08 +00:00
troy%netscape.com
b630d28d5e b=22497. Changed ReflowBlock() to better calculate the x-offset where the
table will be positioned


git-svn-id: svn://10.0.0.236/trunk@58691 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-26 01:45:47 +00:00
troy%netscape.com
7daf58d343 Reduced stack space by using PRPackedBool instead of PRBool
git-svn-id: svn://10.0.0.236/trunk@56709 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-04 02:59:35 +00:00
troy%netscape.com
1fce58468f Work-in-progress for having maximum width (needed by tables) be updated
incrementally


git-svn-id: svn://10.0.0.236/trunk@56615 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-30 04:15:45 +00:00
dmose%mozilla.org
92d791b7b0 updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52908 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:40:37 +00:00
troy%netscape.com
88c4d96e2c Folded reflow functions into nsIFrame and eliminated nsIFrameReflow and
nsIHTMLReflow. This saves 4 bytes per frame and cleans things up


git-svn-id: svn://10.0.0.236/trunk@52309 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-30 02:52:11 +00:00
kipp%netscape.com
ffd939db74 Cache computed width so that during placement of the block we can see if auto margins need recomputing (bug #1164)
git-svn-id: svn://10.0.0.236/trunk@44922 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-27 21:47:04 +00:00
kipp%netscape.com
0c99a9c058 Switch to nsIPresContext*'s instead of nsIPresContext&'s
git-svn-id: svn://10.0.0.236/trunk@28184 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-20 00:27:08 +00:00
kipp%netscape.com
7be49772ca Removed some debris; added ComputeCollapsedTopMargin method
git-svn-id: svn://10.0.0.236/trunk@26157 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-03 18:58:32 +00:00
kipp%netscape.com
951e615c71 Reflow floater frames using the block reflow context
git-svn-id: svn://10.0.0.236/trunk@25782 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-01 01:37:36 +00:00
kipp%netscape.com
2ef973d34d Removed compact margin hackery
git-svn-id: svn://10.0.0.236/trunk@25646 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-31 04:10:51 +00:00
kipp%netscape.com
bcfc57f0cd Removed cruft; added IsHTMLParagraph method
git-svn-id: svn://10.0.0.236/trunk@25493 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-29 23:44:59 +00:00
kipp%netscape.com
2d7802dd88 Moved vertical margin application into here; implement top-margin collapsing logic
git-svn-id: svn://10.0.0.236/trunk@25293 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-27 01:22:45 +00:00
kipp%netscape.com
b117f217cd Work around 3238 partially until we have a real solution
git-svn-id: svn://10.0.0.236/trunk@24688 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-22 20:45:26 +00:00
kipp%netscape.com
83f5d0de70 Spanked to collapse inline-reflow with line-layout into line-layout; fixed bugs #1278, #1990, #3527, #1670, etc.
git-svn-id: svn://10.0.0.236/trunk@24321 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-18 21:03:25 +00:00
kipp%netscape.com
2095143fa1 Removed ref to dead nsFrameReflowState
git-svn-id: svn://10.0.0.236/trunk@22885 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 15:22:03 +00:00
kipp%netscape.com
4dfe8022be Minor tweaks to work better with computed values in html reflow state
git-svn-id: svn://10.0.0.236/trunk@22838 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-05 04:22:11 +00:00