Commit Graph

133 Commits

Author SHA1 Message Date
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
waterson@netscape.com
e8403a2f92 Bug 55086. Change nsContainerFrame::PositionFrameView() to position child views. Eliminate the |aView| parameter from that method, because the view can be retrieved from the frame and need not be done by the caller. Eliminate the NS_FRAME_NO_MOVE_CHILD_VIEWS flag, which was read-only; i.e., never set by anyone. r=dbaron, sr=attinasi 2001-09-05 20:27:19 +00:00
waterson@netscape.com
5b406a65da Bug 55086. Be sure to position child views, too! r=dbaron, sr=attinasi, a=blizzard. 2001-08-31 20:14:31 +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
hyatt@netscape.com
dfdfa14592 Fix for 78695 (rule matching improvements). r/sr=attinasi, jst, waterson 2001-05-31 22:19:43 +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
buster@netscape.com
cfbe2db584 bug 47549 (Floaters cause entire page to redraw as content is appended (block paint perf))
r=kmcclusk@netscape.com
sr=waterson@netscape.com
2001-02-12 07:06:49 +00:00
pierre@netscape.com
5f165d8dc9 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. 2001-02-07 09:57:26 +00:00
mcafee@netscape.com
99b5642905 Backing out pierre's change from 1/20 for performance reasons (66263). r=attinasi, a=granrose, phil 2001-01-25 02:58:12 +00:00
pierre@netscape.com
37a4efae45 #43457 split nsStyleSpacing into 4 smaller structures: nsStyleBorder, nsStylePadding, nsStyleMargin, nsStyleOutline. Review=attinasi. Pending Approval: buster. 2001-01-20 22:46:54 +00:00
dbaron@fas.harvard.edu
77cfa226db Make relatively positioned elements matter to their parents only at the original position by switching the order of computing the combined rect and computing relative positioning. b=4519 r=buster@netscape.com sr=waterson@netscape.com 2000-12-09 04:04:17 +00:00
warren@netscape.com
0462ea4ce8 Bug 47207. Backing out logging/PRINTF changes until we can fix stopwatch.h, introduce double parens, etc. 2000-10-28 22:17:53 +00:00
warren@netscape.com
7730ce0cd3 Bug 47207. Changing printf to PRINTF to use new logging facility. r=valeski,sr=waterson 2000-10-27 22:43:51 +00:00
roc+@cs.cmu.edu
e36762b596 When computing the max-element-size, base percentage margins on the size of the contained max-element-size, not on the container's desired size. Bug 25707. r,a=waterson 2000-08-11 20:08:15 +00:00
dbaron@fas.harvard.edu
60feab1fd7 Fix the way HTML's align attribute works for horizontal alignment of blocks. Use the -moz-center and -moz-right even in strict mode, and apply them to blocks in addition to tables. r=attinasi b=37083, 40038 2000-07-27 23:37:44 +00:00
dbaron@fas.harvard.edu
f24f8b81bd 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 2000-06-29 22:03:42 +00:00
dbaron@fas.harvard.edu
03d466b553 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 2000-06-20 03:47:49 +00:00
pollmann@netscape.com
bde1116b75 Fixing Linux build bustage 2000-06-14 23:58:31 +00:00
buster@netscape.com
08e52676df fixed nsbeta2+ bugs 42138 35772 37657 38157 40283 35964
r=waterson, rods
2000-06-14 23:15:59 +00:00
buster@netscape.com
3ef8c621ee bugs 38396, 29429, 32471, 27390, 32581
errors in incremental calcuation of max-element-size and preferred-size
2000-05-14 04:56:25 +00:00
buster@netscape.com
a8ca3a8cf4 fixed bug 36022
r=troy (been holding this in my tree for a while)
2000-05-09 19:28:20 +00:00
buster@netscape.com
61ac96b719 fixed bugs 26952, 30944, 36022
r=troy
2000-05-09 05:08:02 +00:00
putterman@netscape.com
18cce22621 Backing out troy's changes to fix various UI blocker bugs. 2000-04-24 22:15:55 +00:00
troy@netscape.com
1e25e9d3c4 Slight performance improvement 2000-04-22 15:50:12 +00:00
buster@netscape.com
e314a84485 bug 588 (text justification) for Robert O'Callahan <roc+moz@cs.cmu.edu>
r=buster

bug 18545 ([FLOAT] Problem Centering <TABLE> with <DIV> tag)
r=troy

bugs 18827, 19579, 22327 24782, 26512, 30124, 31849, 32846 (floater behavior wrong)
The primary change here is to determine if a block is impacted by a floater, and if so
mark the block's lines dirty when appropriate.
r=troy

no bug number.  performance work.  reduced the size of some reflow data structures by
collapsing multiple fields into a single bit field.
r=troy
2000-04-17 14:40:46 +00:00
troy@netscape.com
8ee39bb6c2 b=25223. Block code now does a better job of determing where the floater
should go before reflowing it
2000-01-29 00:47:33 +00:00
troy@netscape.com
b7da02391d b=22677. Fix for the part of the bug where the second table taht is relatively
positioned flashes when the window is resized
2000-01-26 03:44:36 +00:00
troy@netscape.com
cbfe0dfcd0 b=22497. Changed ReflowBlock() to better calculate the x-offset where the
table will be positioned
2000-01-26 01:45:47 +00:00
troy@netscape.com
8b386be620 Made sure to subtract top margin from available height when paginated 2000-01-18 15:39:38 +00:00
nisheeth@netscape.com
bd43d81d01 r=troy. Reflow commands are now coalesced by block and inline frames. This fixes bug 985 in which we now generate 6 reflow commands instead of 257. 2000-01-12 08:28:24 +00:00
troy@netscape.com
42284c6625 More work on getting block frames to incrementally update their
maximum width
2000-01-08 03:58:27 +00:00
troy@netscape.com
402f4784e4 Added new #define NS_SHRINKWRAPWIDTH that specifies that a frame should
shrink wrap its width (paying attention to the maximum computed width). Mostly
complete implementation for block frames
2000-01-03 04:32:13 +00:00
troy@netscape.com
f0465b161b Work-in-progress for having maximum width (needed by tables) be updated
incrementally
1999-12-30 04:15:45 +00:00
troy@netscape.com
7abe460751 Change to how overflow is handled for absolutely positioned elements.
We no longer use nsIAraeFrame and now it's folded into the overflow
area in the reflow metrics
1999-12-06 15:49:53 +00:00
tbogard@aol.net
617bb737a6 Changed nsIPresContext& to nsIPresContext*. Changed nsEventStatus& to nsEventStatus*. Now more compatible with XPIDL. a=vidur r=scc 1999-11-24 06:03:41 +00:00
troy@netscape.com
3b67f2f17c WillReflow/DidReflow changes and changes to the way view positioning
and sizing works
1999-11-19 15:33:29 +00:00
dmose@mozilla.org
796280940b updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:40:37 +00:00
troy@netscape.com
5e5f240649 Folded reflow functions into nsIFrame and eliminated nsIFrameReflow and
nsIHTMLReflow. This saves 4 bytes per frame and cleans things up
1999-10-30 02:52:11 +00:00
troy@netscape.com
b8ef6465be Changed SetView/GetView to take an additional argument which is the
pres context
1999-10-26 04:44:41 +00:00
kipp@netscape.com
a99b8c0ee3 r=troy; bug: 15153; fixed problem with style-change reflows not being propogated properly 1999-10-21 20:44:58 +00:00
kipp@netscape.com
03460c03e9 Fixed bug with bounds of line-box including side margins when it shouldn't (part of 12297) 1999-10-12 23:24:51 +00:00
kipp@netscape.com
a538a6dc7c Disabled (obsolete?) usage of MoveInSpaceManager 1999-09-15 00:26:10 +00:00
kipp@netscape.com
7814fdd703 Fixed two incremental reflow bugs (12890) 1999-09-10 18:52:56 +00:00
kipp@netscape.com
d0cfa0f36a Cache computed width so that during placement of the block we can see if auto margins need recomputing (bug #1164) 1999-08-27 21:47:04 +00:00
troy@netscape.com
4588244ada Added 'm' prefix to a couple more data members of nsHTMLReflowState struct 1999-07-20 03:51:46 +00:00
troy@netscape.com
346eaed537 Added 'm' prefix to some of the nsHTMLReflowState data members 1999-07-20 03:41:03 +00:00
kipp@netscape.com
43b346efa4 Cleaned up some warnings; use some com-ptrs 1999-07-14 17:27:24 +00:00
troy@netscape.com
6044dde4a3 Fix for bug #6630. Don't force the desired width to 0 for zero-height
frames, and don't have the document element frame shrink wrap
1999-06-26 03:21:49 +00:00