Commit Graph

45 Commits

Author SHA1 Message Date
bzbarsky%mit.edu
c36c5046fd 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
a42c58298b relanding fix for bug 317278 :-( 2006-06-29 01:19:48 +00:00
roc+%cs.cmu.edu
1621ac24bd 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
ab87d3edb5 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
0e88f73bc6 Single line comments to describe files (helpful in LXR) 2006-03-29 18:29:03 +00:00
roc+%cs.cmu.edu
d96dfd25f2 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
13a6502805 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
3a3ac38479 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
5c02a6978c Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc 2004-07-31 23:15:21 +00:00
dbaron%dbaron.org
be338c15ee 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
b7b7c52bc2 Fix bug #242044 - Reduce number of allocations by nsSpaceManager::PushState 2004-06-06 18:45:02 +00:00
gerv%gerv.net
708b56cff4 Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-18 14:30:37 +00:00
jkeiser%netscape.com
9ee03c08e4 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
1db55eaf76 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
6dd68f3c64 Remove nsISizeOfHandler and associated SizeOf methods. b=106792 r=bzbarsky sr=jst 2003-02-22 15:34:38 +00:00
dbaron%fas.harvard.edu
69151bc05f 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
182417eb0a 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
50e1a69237 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
0597412383 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
6e86902faa Remove unnecessary XPCOM interface around nsSpaceManager. b=102453 r=jag sr=waterson 2001-10-26 05:06:07 +00:00
dbaron%fas.harvard.edu
157c017816 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
4e12e44b2f 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
31c9d83acb 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
277d3af41f 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
5312eacf8c 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
1585a751fb Moved a bunch of stuff out to a nsIFrameDebug interface 1999-11-01 22:12:45 +00:00
kipp%netscape.com
65f6ba5343 Cleanup moz-decl-counter usage and fix NS_LOG_ADDREF usage 1999-10-08 20:41:19 +00:00
troy%netscape.com
606f3b77ab 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
5dfb641a58 Added SizeOf() handler for space manager 1999-10-02 00:52:01 +00:00
kipp%netscape.com
999be9a0a1 Implement List method 1999-09-15 00:24:54 +00:00
troy%netscape.com
1ade628863 Added 'm' prefix to struct data members 1999-07-02 23:31:01 +00:00
troy%netscape.com
aa80493e19 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
2a71e76f16 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
a16334a322 Make dtor virtual to quite down compilers 1999-02-04 16:26:42 +00:00
brade%netscape.com
7bc19df3f9 reduce Macintosh compiler warnings by adding prototype 1999-01-06 18:53:59 +00:00
troy%netscape.com
c5ec74eb54 Changed nsISpaceManager interface to conform to XP-COM conventions on
return values
1999-01-04 04:54:33 +00:00
troy
4910a3a407 Added 'ns' prefix to class name 1998-05-28 02:37:37 +00:00
troy
70eb627aa6 Changes for removing regions 1998-05-19 22:55:40 +00:00
troy
a0060561f9 Work in progress on removing a region 1998-05-19 15:30:10 +00:00
troy
27cefaf456 Revamped space manager internals 1998-05-19 03:00:56 +00:00
troy
2269c1d962 Changes to space manager implementation. 1998-05-13 16:22:44 +00:00
troy
224249091a Added new member functions 1998-05-12 23:02:02 +00:00
troy
4123dc2ed8 Changed space manager to return a list of available and unavailable trapezoids 1998-04-29 00:58:16 +00:00
troy
73a2d89927 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
098bef52b4 moved to pub 1998-04-13 20:24:54 +00:00