26 Commits

Author SHA1 Message Date
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
jst%netscape.com
2ec1ee65c2 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
git-svn-id: svn://10.0.0.236/trunk@102715 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-11 00:55:05 +00:00
dbaron%fas.harvard.edu
0e283e8c8c 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
git-svn-id: svn://10.0.0.236/trunk@83772 18797224-902f-48f8-a5cc-f745e15eee43
2000-12-16 18:56:06 +00:00
dmose%mozilla.org
92d791b7b0 updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52908 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:40:37 +00:00
troy%netscape.com
3513334988 Moved a bunch of stuff out to a nsIFrameDebug interface
git-svn-id: svn://10.0.0.236/trunk@52427 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-01 22:12:45 +00:00
kipp%netscape.com
e18af2d0ee Cleanup moz-decl-counter usage and fix NS_LOG_ADDREF usage
git-svn-id: svn://10.0.0.236/trunk@50239 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-08 20:41:19 +00:00
troy%netscape.com
148aeb9479 Space issue. r=kipp@netscape.com
Replaced hash table which used lots of memory with simple linked list of
FrameInfo* structs


git-svn-id: svn://10.0.0.236/trunk@49949 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-06 04:22:51 +00:00
troy%netscape.com
67890faf02 Added SizeOf() handler for space manager
git-svn-id: svn://10.0.0.236/trunk@49632 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-02 00:52:01 +00:00
kipp%netscape.com
56b503d3a9 Implement List method
git-svn-id: svn://10.0.0.236/trunk@47471 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-15 00:24:54 +00:00
troy%netscape.com
35f020525f Added 'm' prefix to struct data members
git-svn-id: svn://10.0.0.236/trunk@38183 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 23:31:01 +00:00
troy%netscape.com
71ac661243 Fix for bug #7397. Changed space manager to allows negative values
for rect regions


git-svn-id: svn://10.0.0.236/trunk@36663 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-24 02:04:50 +00:00
alecf%netscape.com
fef17484d9 BandRect needs to be public to be visible outside the class definition (HPUX bustage)
git-svn-id: svn://10.0.0.236/trunk@22152 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-26 17:36:00 +00:00
kipp%netscape.com
35bd6ce005 Make dtor virtual to quite down compilers
git-svn-id: svn://10.0.0.236/trunk@19694 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-04 16:26:42 +00:00
brade%netscape.com
1e8cf12dc5 reduce Macintosh compiler warnings by adding prototype
git-svn-id: svn://10.0.0.236/trunk@17246 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-06 18:53:59 +00:00
troy%netscape.com
4d65b22403 Changed nsISpaceManager interface to conform to XP-COM conventions on
return values


git-svn-id: svn://10.0.0.236/trunk@17085 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-04 04:54:33 +00:00
troy
4423b06d16 Added 'ns' prefix to class name
git-svn-id: svn://10.0.0.236/trunk@2468 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-28 02:37:37 +00:00
troy
e456af6993 Changes for removing regions
git-svn-id: svn://10.0.0.236/trunk@1983 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-19 22:55:40 +00:00
troy
e7e5cf121d Work in progress on removing a region
git-svn-id: svn://10.0.0.236/trunk@1945 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-19 15:30:10 +00:00
troy
ed866399b2 Revamped space manager internals
git-svn-id: svn://10.0.0.236/trunk@1892 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-19 03:00:56 +00:00
troy
7e662b38e2 Changes to space manager implementation.
git-svn-id: svn://10.0.0.236/trunk@1514 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-13 16:22:44 +00:00
troy
5d0ec492ca Added new member functions
git-svn-id: svn://10.0.0.236/trunk@1478 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-12 23:02:02 +00:00
troy
a10eab0307 Changed space manager to return a list of available and unavailable trapezoids
git-svn-id: svn://10.0.0.236/trunk@821 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-29 00:58:16 +00:00
troy
8fa41c7a75 Changed space manager to pass in the frame that's associated with a block
of unavailable space


git-svn-id: svn://10.0.0.236/trunk@479 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-21 23:06:41 +00:00
kipp
fb1503758e moved to pub
git-svn-id: svn://10.0.0.236/trunk@165 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-13 20:24:54 +00:00