39 Commits

Author SHA1 Message Date
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
kipp%netscape.com
9b917419dc COMized nsIPresShell and nsIPresContext
git-svn-id: svn://10.0.0.236/trunk@20570 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-12 17:45:58 +00:00
troy%netscape.com
09fde7e34c Changed nsHTMLReflowState to compute 'offsets' for relatively positioned
elements


git-svn-id: svn://10.0.0.236/trunk@17926 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 20:58:17 +00:00
troy%netscape.com
6d649a1f27 Changed inline and block reflow code to reset reflow state's isTopOfPage
data member based on whether IsAdjacentWithTop() is true


git-svn-id: svn://10.0.0.236/trunk@16315 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-12 17:59:30 +00:00
kipp%netscape.com
04bd3565f5 Updated
git-svn-id: svn://10.0.0.236/trunk@15839 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:01:11 +00:00
kipp%netscape.com
0bbef0f75e new
git-svn-id: svn://10.0.0.236/trunk@15521 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 16:13:49 +00:00