Commit Graph

50 Commits

Author SHA1 Message Date
dbaron@dbaron.org
6d7ee4446f Make nsSpaceManager::ClearRegions reset mLowestTop as well. b=198485 r+sr=roc 2003-03-21 03:11:47 +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
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
0ae28f14fb Add CPP_THROW_NEW macro to the build system. This macro should be used when defining a local |operator new| function. It will be set to an empty throw function by default on all platforms except mac CW builds. This will allow us to not crash on systems that expect |operator new| to throw an exception by default and will suppress compiler warnings about how |operator new| should throw an exception instead of returning NULL.
Bug 149032 r=timeless sr=scc
2002-07-02 20:25:30 +00:00
waterson@netscape.com
a7380946d3 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 2002-05-10 18:22: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
mkaply@us.ibm.com
3c2a085863 Attempt to fix OS/2 bustage 2001-10-25 13:13:28 +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
dbaron@fas.harvard.edu
d52d3d978e Replace uses of overloaded |fputs| and most uses of |ns[C]String::ToCString|. b=104763 r=jag rs=scc 2001-10-16 03:53:44 +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
4c647ea08a Replace uses of deprecated NS_IMPL_ISUPPORTS and NS_IMPL_QUERYINTERFACE macros with NS_IMPL_{ISUPPORTS,QUERYINTERFACE}{1,0}. r=jag rs=brendan b=45797 2001-08-21 01:48:11 +00:00
dbaron@fas.harvard.edu
15267f2b5c Remove trailing semicolons after all uses of MOZ_DECL_CTOR_COUNTER to quiet build warnings on Mac. b=60415 a=brendan@mozilla.org 2001-01-27 23:06:33 +00:00
rods@netscape.com
c0ed0d0271 removing most all NS_DEFINE_IID and replacing them with NS_GET_IID macros
Bug 61274, r=buster sr=waterson
2001-01-04 20:44:42 +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
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
pp@ludusdesign.com
baf799923b Converting ::GetIID() into NS_GET_IID(). Bug #20232. r=scc, r=mozbot 2000-02-02 22:24:56 +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
braddr@puremagic.com
e75ee75001 Change NS_COMFALSE instances to NS_ERROR_ABORT's 1999-10-22 05:32:31 +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
355fa397e5 Added SizeOf() handler for floater information maintained by the
line box
1999-10-02 02:51:03 +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
b06584d421 Added 'm' prefix to structs defined in nsISpaceManager 1999-07-25 19:01:13 +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
kipp@netscape.com
5c7b7fc37d Removed unused variable 1999-04-27 22:07:43 +00:00
alecf@netscape.com
e37252d405 fix AIX bustage - explicitly refer to parent constructor even though it's within
the scope of this constructor..
1999-03-02 01:44:07 +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
kipp@netscape.com
41466d56b5 Fixed a coordinate system bug with Offset method 1998-10-30 22:05:22 +00:00
troy
dfb1c5cd72 Fixed an assert 1998-05-30 23:56:28 +00:00
troy
a2007efe9a Added 'ns' prefix to class name 1998-05-28 02:37:37 +00:00
troy
1eaced273a Changed the nsBandTrapezoid::State enum values to conform to the coding
standard
1998-05-22 04:03:14 +00:00
troy
77743047ae Fixed some busted code of a bogus type cast 1998-05-22 00:45:34 +00:00
troy
7280c2f953 Implemented RemoveRegion() 1998-05-20 05:14:14 +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
kipp
d166932856 Init band data so that zero is returned on failure 1998-05-12 01:30:57 +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
troy
967196a36e Changed the space manager interface to return trapezoids instead
of rects
1998-04-20 23:53:47 +00:00
kipp
4683c6f4c0 moved to pub 1998-04-13 20:24:54 +00:00