53 Commits

Author SHA1 Message Date
bryner%brianryner.com
b5347dd60c Change all callers of nsIPresContext::GetShell() to use the non-refcounting versions. Most callers now use PresShell(), a few that were checking for null conditions are using GetPresShell() -- this will be remedied once we can ensure that a prescontext never has a null pres shell. Bug 227690, r+sr=bzbarsky.
git-svn-id: svn://10.0.0.236/trunk@150598 18797224-902f-48f8-a5cc-f745e15eee43
2003-12-21 05:36:36 +00:00
dbaron%dbaron.org
33601224e0 Use the correct term "float" instead of "floater". b=218654 r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@147924 18797224-902f-48f8-a5cc-f745e15eee43
2003-10-13 21:51:02 +00:00
jkeiser%netscape.com
d214c656a8 Fix crash printing fixed-position float elements (bug 200347), r=kin@netscape.com, sr=dbaron@dbaron.org, a=asa
git-svn-id: svn://10.0.0.236/trunk@142762 18797224-902f-48f8-a5cc-f745e15eee43
2003-05-22 20:56:35 +00:00
dbaron%dbaron.org
36264b0339 Make nsSpaceManager::ClearRegions reset mLowestTop as well. b=198485 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@139896 18797224-902f-48f8-a5cc-f745e15eee43
2003-03-21 03:11:47 +00:00
dbaron%dbaron.org
28c762385d 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
git-svn-id: svn://10.0.0.236/trunk@139299 18797224-902f-48f8-a5cc-f745e15eee43
2003-03-11 23:56:49 +00:00
dbaron%dbaron.org
e6a2b29ebf Remove nsISizeOfHandler and associated SizeOf methods. b=106792 r=bzbarsky sr=jst
git-svn-id: svn://10.0.0.236/trunk@138193 18797224-902f-48f8-a5cc-f745e15eee43
2003-02-22 15:34:38 +00:00
dbaron%fas.harvard.edu
a7efa8275b 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
git-svn-id: svn://10.0.0.236/trunk@135476 18797224-902f-48f8-a5cc-f745e15eee43
2002-12-19 00:12:08 +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
seawood%netscape.com
a7c7e77b8b 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


git-svn-id: svn://10.0.0.236/trunk@124526 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-02 20:25:30 +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
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
mkaply%us.ibm.com
3fb7e38337 Attempt to fix OS/2 bustage
git-svn-id: svn://10.0.0.236/trunk@106269 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 13:13:28 +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
dbaron%fas.harvard.edu
7bb7b59a69 Replace uses of overloaded |fputs| and most uses of |ns[C]String::ToCString|. b=104763 r=jag rs=scc
git-svn-id: svn://10.0.0.236/trunk@105460 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 03:53:44 +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
3485888237 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
git-svn-id: svn://10.0.0.236/trunk@101462 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-21 01:48:11 +00:00
dbaron%fas.harvard.edu
5f0a7ab9bd Remove trailing semicolons after all uses of MOZ_DECL_CTOR_COUNTER to quiet build warnings on Mac. b=60415 a=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@85654 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-27 23:06:33 +00:00
rods%netscape.com
a6e0d47c5a removing most all NS_DEFINE_IID and replacing them with NS_GET_IID macros
Bug 61274, r=buster sr=waterson


git-svn-id: svn://10.0.0.236/trunk@84377 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-04 20:44:42 +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
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
pp%ludusdesign.com
a2927ce43e Converting ::GetIID() into NS_GET_IID(). Bug #20232. r=scc, r=mozbot
git-svn-id: svn://10.0.0.236/trunk@59537 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-02 22:24:56 +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
braddr%puremagic.com
ef38d2fd9c Change NS_COMFALSE instances to NS_ERROR_ABORT's
git-svn-id: svn://10.0.0.236/trunk@51516 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-22 05:32:31 +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
bd5ca95ced Added SizeOf() handler for floater information maintained by the
line box


git-svn-id: svn://10.0.0.236/trunk@49644 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-02 02:51:03 +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
ed06c35f34 Added 'm' prefix to structs defined in nsISpaceManager
git-svn-id: svn://10.0.0.236/trunk@41059 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-25 19:01:13 +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
kipp%netscape.com
8f81c41ae5 Removed unused variable
git-svn-id: svn://10.0.0.236/trunk@29539 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-27 22:07:43 +00:00
alecf%netscape.com
1640345a6b fix AIX bustage - explicitly refer to parent constructor even though it's within
the scope of this constructor..


git-svn-id: svn://10.0.0.236/trunk@22502 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 01:44:07 +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
kipp%netscape.com
4073da1ad6 Fixed a coordinate system bug with Offset method
git-svn-id: svn://10.0.0.236/trunk@13748 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-30 22:05:22 +00:00
troy
a53a8a9faf Fixed an assert
git-svn-id: svn://10.0.0.236/trunk@2772 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-30 23:56:28 +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
c7abe18deb Changed the nsBandTrapezoid::State enum values to conform to the coding
standard


git-svn-id: svn://10.0.0.236/trunk@2164 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-22 04:03:14 +00:00
troy
6b6d4c22d4 Fixed some busted code of a bogus type cast
git-svn-id: svn://10.0.0.236/trunk@2154 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-22 00:45:34 +00:00
troy
b702a4ba14 Implemented RemoveRegion()
git-svn-id: svn://10.0.0.236/trunk@2010 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-20 05:14:14 +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
kipp
aeca5d3fb6 Init band data so that zero is returned on failure
git-svn-id: svn://10.0.0.236/trunk@1436 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-12 01:30:57 +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