101 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
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
d515d330cd Allow relative positioning to again influence the overflow area, since we're no longer using the overflow area for layout. r+sr=roc b=174149
git-svn-id: svn://10.0.0.236/trunk@135478 18797224-902f-48f8-a5cc-f745e15eee43
2002-12-19 00:23:00 +00:00
dbaron%fas.harvard.edu
d77395a3b9 Fix margin collapsing of margins other than the first child's top margin out of the top of a block. b=44242, 18206 r=roc (mostly)
git-svn-id: svn://10.0.0.236/trunk@134576 18797224-902f-48f8-a5cc-f745e15eee43
2002-11-28 19:29:28 +00:00
bzbarsky%mit.edu
a70a392a2c Make GetParent on nsStyleContext return an
already_AddRefed<nsIStyleContext>.  Bug 171808, r=jkeiser, sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@131531 18797224-902f-48f8-a5cc-f745e15eee43
2002-10-09 01:46:15 +00:00
karnaze%netscape.com
7e2beae782 bug 163614 - Changed DeleteChildsNextInFlow to DeleteNextInFlowChild, params, and callers. sr=kin, r=alexsavulov,dcone
git-svn-id: svn://10.0.0.236/trunk@131456 18797224-902f-48f8-a5cc-f745e15eee43
2002-10-08 20:35:26 +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
karnaze%netscape.com
f7e67af4b3 bug 154780 - Revised bernd's patch. treat null unit margins as auto. leave the cell avail width at 0 if a strategy init will occur. sr=kin, r=alexsavulov.
git-svn-id: svn://10.0.0.236/trunk@128780 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-04 00:10:43 +00:00
kin%netscape.com
a850d5d255 Fix for bug #96736: [FLOATER]The "Top 1000 Reviewer" is overwritten by text
mozilla/layout/base/src/nsSpaceManager.cpp
  mozilla/layout/base/src/nsSpaceManager.h

    - Implemented nsSpaceManager methods PushState()
      and PopState().

  mozilla/layout/html/base/src/nsBlockReflowContext.cpp

    - Modified nsBlockReflowContext::DoReflowBlock() to
      call PushState() and PopState() to remove any
      floaters that may have been added to the SpaceManager
      during the intermediate "unconstrained" Reflow()
      call, used to calculate the max block width. This
      allows the Reflow() call that immediately follows
      it to properly place the floaters.


r=waterson@netscape.com  sr=dbaron@fas.harvard.edu


git-svn-id: svn://10.0.0.236/trunk@127595 18797224-902f-48f8-a5cc-f745e15eee43
2002-08-19 04:41:57 +00:00
bernd.mielke%snafu.de
c67e5d2a21 bug 154979 - use gNoisyMaxElementSize instead of NOISY_MAX_ELEMENTSIZE r=karnaze sr=waterson
git-svn-id: svn://10.0.0.236/trunk@124405 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 17:43:02 +00:00
karnaze%netscape.com
54191082bf bug 148399 - fix places where patch in bug 145305 incorrectly changed checks for NS_FRAME_COMPLETE to use NS_FRAME_IS_NOT_COMPLETE macro. sr=kin, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@123317 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 14:40:02 +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
jst%netscape.com
0e34136ef1 Fixing bug 146034. Getting rid of nsHTMLIIDs.{h,cpp}. r=jfrancis@netscape.com, sr=rpotts@netscape.com
git-svn-id: svn://10.0.0.236/trunk@122039 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-23 00:00:34 +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
attinasi%netscape.com
a85b13ed6d Fix for problem with horizontal auto margins in presence of padding on parent: checkin for arunan_bala@hotmail.com b=20582 r=dbaron sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@109081 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-28 01:17:51 +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
waterson%netscape.com
43c613727c 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
git-svn-id: svn://10.0.0.236/trunk@102321 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-05 20:27:19 +00:00
waterson%netscape.com
388df343a1 Bug 55086. Be sure to position child views, too! r=dbaron, sr=attinasi, a=blizzard.
git-svn-id: svn://10.0.0.236/trunk@102090 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-31 20:14:31 +00:00
dbaron%fas.harvard.edu
d0e7b1d970 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
git-svn-id: svn://10.0.0.236/trunk@98602 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-04 02:00:05 +00:00
hyatt%netscape.com
b7b1cb3691 Fix for 78695 (rule matching improvements). r/sr=attinasi, jst, waterson
git-svn-id: svn://10.0.0.236/trunk@96136 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-31 22:19:43 +00:00
waterson%netscape.com
e26708f220 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.
git-svn-id: svn://10.0.0.236/trunk@95630 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-21 23:03:46 +00:00
buster%netscape.com
4ce43e99f9 bug 47549 (Floaters cause entire page to redraw as content is appended (block paint perf))
r=kmcclusk@netscape.com
sr=waterson@netscape.com


git-svn-id: svn://10.0.0.236/trunk@86810 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-12 07:06:49 +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
613ce7eae3 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
git-svn-id: svn://10.0.0.236/trunk@83437 18797224-902f-48f8-a5cc-f745e15eee43
2000-12-09 04:04:17 +00:00
warren%netscape.com
a8b9664a8c Bug 47207. Backing out logging/PRINTF changes until we can fix stopwatch.h, introduce double parens, etc.
git-svn-id: svn://10.0.0.236/trunk@81967 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-28 22:17:53 +00:00
warren%netscape.com
c6b67eceeb Bug 47207. Changing printf to PRINTF to use new logging facility. r=valeski,sr=waterson
git-svn-id: svn://10.0.0.236/trunk@81885 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-27 22:43:51 +00:00
roc+%cs.cmu.edu
4c56115614 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
git-svn-id: svn://10.0.0.236/trunk@76121 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:08:15 +00:00
dbaron%fas.harvard.edu
5c317da98a 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
git-svn-id: svn://10.0.0.236/trunk@74966 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-27 23:37:44 +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
pollmann%netscape.com
1783536d2e Fixing Linux build bustage
git-svn-id: svn://10.0.0.236/trunk@72255 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:58:31 +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
98dbc47939 bugs 38396, 29429, 32471, 27390, 32581
errors in incremental calcuation of max-element-size and preferred-size


git-svn-id: svn://10.0.0.236/trunk@69635 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-14 04:56:25 +00:00
buster%netscape.com
c457606836 fixed bug 36022
r=troy (been holding this in my tree for a while)


git-svn-id: svn://10.0.0.236/trunk@68867 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-09 19:28:20 +00:00
buster%netscape.com
9debabbe59 fixed bugs 26952, 30944, 36022
r=troy


git-svn-id: svn://10.0.0.236/trunk@68805 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-09 05:08:02 +00:00
putterman%netscape.com
97e6e61f3c Backing out troy's changes to fix various UI blocker bugs.
git-svn-id: svn://10.0.0.236/trunk@66999 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-24 22:15:55 +00:00
troy%netscape.com
ec619780c1 Slight performance improvement
git-svn-id: svn://10.0.0.236/trunk@66855 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-22 15:50:12 +00:00
buster%netscape.com
2fa9ad90e8 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


git-svn-id: svn://10.0.0.236/trunk@66201 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-17 14:40:46 +00:00
troy%netscape.com
9866fd9793 b=25223. Block code now does a better job of determing where the floater
should go before reflowing it


git-svn-id: svn://10.0.0.236/trunk@59137 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-29 00:47:33 +00:00
troy%netscape.com
ec50403f3b b=22677. Fix for the part of the bug where the second table taht is relatively
positioned flashes when the window is resized


git-svn-id: svn://10.0.0.236/trunk@58724 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-26 03:44:36 +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
d0163fda49 Made sure to subtract top margin from available height when paginated
git-svn-id: svn://10.0.0.236/trunk@58102 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-18 15:39:38 +00:00
nisheeth%netscape.com
59dbaae9fb 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.
git-svn-id: svn://10.0.0.236/trunk@57522 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-12 08:28:24 +00:00