Commit Graph

45 Commits

Author SHA1 Message Date
bzbarsky@mit.edu
62253c5a45 Speed up ClearFloats for cases when we have lots of floats. Bug 349113, r+sr=roc 2006-08-29 21:56:51 +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
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
2736f6afc6 Bug 299742. Blocks that contain lines with clearance need not reflow those lines if there are no floats in the space manager yet and no lines need to be reflowed otherwise. 2005-07-26 21:35:59 +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
roc+@cs.cmu.edu
7c22672fe5 Bug 257216. Fix sundry block issues for columns. In particular, remove overflowing floats from the space manager before we compute the space manager's XMost and YMost to include in the block size. r+sr=dbaron 2004-09-13 13:35:46 +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
dbaron@dbaron.org
4fd2af3cad Move clearing from nsBlockBandData to nsSpaceManager so that 'clear' works even when the floats to be cleared don't overlap the block's border-box. b=148994 Patch by Blake Kaplan <mrbkap@rice.edu>. r+sr=dbaron 2004-06-08 19:18:30 +00:00
jim_nance@yahoo.com
13fb908827 Fix bug #242044 - Reduce number of allocations by nsSpaceManager::PushState 2004-06-06 18:45:02 +00:00
gerv@gerv.net
a1ec040a65 Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-18 14:30:37 +00:00
jkeiser@netscape.com
530dd1bf91 Fix crash printing fixed-position float elements (bug 200347), r=kin@netscape.com, sr=dbaron@dbaron.org, a=asa 2003-05-22 20:56:35 +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
834096485c Remove nsISizeOfHandler and associated SizeOf methods. b=106792 r=bzbarsky sr=jst 2003-02-22 15:34:38 +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
2fd40ad4c3 bug 169620 - don't pass in negative avail widths, don't add/subtract from NS_UNCONSTRAINEDSIZE, make HR's desired width at least as big as its me width. sr=kin, r=dbaron 2002-09-24 21:02:20 +00:00
kin@netscape.com
abf3289f14 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
2002-08-19 04:41:57 +00:00
seawood@netscape.com
acbfd89feb The c++ standard requires that the throw list be used when declaring functions as well as defining them.
commercial compiler fixes for bug #149032
2002-07-03 17:14:41 +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
jst@netscape.com
89971a04be Fixing bug 98828. Cache a few nsSpaceManager objects to avoid spending 43%cvs ci -m ! of the time spent in PresShell::ProcessReflowCommand() in new and delete. r=dbaron@fas.harvard.edu, sr=waterson@netscape.com 2001-09-11 00:55:05 +00:00
dbaron@fas.harvard.edu
6fc3f9c294 Make destructors that exist only for MOZ_COUNT_DTOR be #ifdef NS_BUILD_REFCNT_LOGGING instead of #ifdef DEBUG so the leak stats on optimized builds are correct. r=waterson@netscape.com sr=brendan@mozilla.org b=62421 2000-12-16 18:56:06 +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
bf2283fba6 Moved a bunch of stuff out to a nsIFrameDebug interface 1999-11-01 22:12:45 +00:00
kipp@netscape.com
ea36a75c90 Cleanup moz-decl-counter usage and fix NS_LOG_ADDREF usage 1999-10-08 20:41:19 +00:00
troy@netscape.com
5b3c3d5aa7 Space issue. r=kipp@netscape.com
Replaced hash table which used lots of memory with simple linked list of
FrameInfo* structs
1999-10-06 04:22:51 +00:00
troy@netscape.com
a9fef807c9 Added SizeOf() handler for space manager 1999-10-02 00:52:01 +00:00
kipp@netscape.com
fb2877c7fb Implement List method 1999-09-15 00:24:54 +00:00
troy@netscape.com
b97dbe5651 Added 'm' prefix to struct data members 1999-07-02 23:31:01 +00:00
troy@netscape.com
6cc9389e54 Fix for bug #7397. Changed space manager to allows negative values
for rect regions
1999-06-24 02:04:50 +00:00
alecf@netscape.com
e3256bed42 BandRect needs to be public to be visible outside the class definition (HPUX bustage) 1999-02-26 17:36:00 +00:00
kipp@netscape.com
e22e4aa21a Make dtor virtual to quite down compilers 1999-02-04 16:26:42 +00:00
brade@netscape.com
34344b47e9 reduce Macintosh compiler warnings by adding prototype 1999-01-06 18:53:59 +00:00
troy@netscape.com
983f56af1b Changed nsISpaceManager interface to conform to XP-COM conventions on
return values
1999-01-04 04:54:33 +00:00
troy
a2007efe9a Added 'ns' prefix to class name 1998-05-28 02:37:37 +00:00
troy
4454e7a95c Changes for removing regions 1998-05-19 22:55:40 +00:00
troy
0c4cb557b3 Work in progress on removing a region 1998-05-19 15:30:10 +00:00
troy
0c6a75c97e Revamped space manager internals 1998-05-19 03:00:56 +00:00
troy
76fa2f9bb8 Changes to space manager implementation. 1998-05-13 16:22:44 +00:00
troy
8e2fba64e4 Added new member functions 1998-05-12 23:02:02 +00:00
troy
e0b6c52f8a Changed space manager to return a list of available and unavailable trapezoids 1998-04-29 00:58:16 +00:00
troy
9f2d9ed763 Changed space manager to pass in the frame that's associated with a block
of unavailable space
1998-04-21 23:06:41 +00:00
kipp
4683c6f4c0 moved to pub 1998-04-13 20:24:54 +00:00