26 Commits

Author SHA1 Message Date
bzbarsky%mit.edu
068756d821 Use NS_LITERAL_STRING instead of NS_ConvertASCIItoUCS2 where possible
(i.e. where the string is a literal).  Bug 104159, r=jag, sr=alecf


git-svn-id: svn://10.0.0.236/trunk@107987 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-14 01:33:42 +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
rbs%maths.uq.edu.au
d9c1a81f37 Shift frame-state bits in implementations to the 12 higher bits - bug 68411 r=karnaze sr=waterson
git-svn-id: svn://10.0.0.236/trunk@87805 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-23 12:42:12 +00:00
buster%netscape.com
f407725c66 bug 28811
r=karnaze
The problem was we were over-eager in optimizing away a resize reflow for lines
that contain %-aware children.  We were only looking at the first-level children
of a line, not all the children.  Now, we compute a bit for each inline container
based on it's children, true if any of them are %-aware wrt any width measurement.
We propogate this bit upwards to a bit on the line itself, and check this bit during reflow.


git-svn-id: svn://10.0.0.236/trunk@78755 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-11 20:46:44 +00:00
waterson%netscape.com
c607d4bc40 Bug 46693. Check to see if we CanContinueTextRun() while walking over the frames to FindNextText(). This revives the logic that I nuked when fixing 19051, and keeps you from trying to walk over <br> or other frames to erroneously continue a text run. r=akkana.
git-svn-id: svn://10.0.0.236/trunk@75085 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-28 22:29:28 +00:00
waterson%netscape.com
86cf521ec9 Bug 19051. Remove code that computed and maintained nsTextRun. Instead, compute 'next text' when required by crawling the frame tree in nsLineLayout::FindNextText(). r=roc+moz@cs.cmu.edu
git-svn-id: svn://10.0.0.236/trunk@74887 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-27 05:16:08 +00:00
troy%netscape.com
b2652e371a b=32192 r=buster@netscape.com Fixed a place where the code to lazily
set the parent pointer for child frames was missing on case


git-svn-id: svn://10.0.0.236/trunk@63709 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-22 04:06:37 +00:00
buster%netscape.com
4b5799a85f bug 32238 (UMR in inline reflow context)
all I did was initialize the members of a struct in the constructor
r=troy


git-svn-id: svn://10.0.0.236/trunk@63496 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-20 23:47:01 +00:00
troy%netscape.com
ec58a955b0 b=5588. Changed it so we lazily reparent the child frames on the overflow list
when it's our initial reflow


git-svn-id: svn://10.0.0.236/trunk@62684 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-12 03:14:11 +00:00
troy%netscape.com
60471abd92 b=21657 a=chofmann@netscape.com Made "overflow list" a full fledged
child list and changed ReparentFrameView() to check it.


git-svn-id: svn://10.0.0.236/trunk@58373 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-22 01:16:50 +00:00
nisheeth%netscape.com
8978d5a35b r=troy. nsContainerFrame::ReflowDirtyChild() always generates a reflow command targeted at its child. nsInlineFrame::ReflowDirtyChild() always passes up the reflow request to its parent. nsBlockFrame::ReflowDirtyChild() no longer has code for checking whether its parent is an area frame.
git-svn-id: svn://10.0.0.236/trunk@57571 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-12 21:52:58 +00:00
hyatt%netscape.com
7e24c61109 Implementing a generalized recycler and arena for all layout frames. Hoping to improve
bug #9489.  Should also definitely fix bug #15916. r=troy


git-svn-id: svn://10.0.0.236/trunk@55321 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-04 23:49:50 +00:00
tbogard%aol.net
ae5a81e394 Changed nsIPresContext& to nsIPresContext*. Changed nsEventStatus& to nsEventStatus*. Now more compatible with XPIDL. a=vidur r=scc
git-svn-id: svn://10.0.0.236/trunk@54392 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-24 06:03:41 +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
cf64589783 Fixed problem with GetFrameName() being defines in non-debug build
git-svn-id: svn://10.0.0.236/trunk@52436 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-01 23:12:32 +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
63ae90acca r=troy; reworked the way that blocks inside of inline elements are handled. It's all in the frame construction code now (bugs 15999, 16737)
git-svn-id: svn://10.0.0.236/trunk@52385 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-01 15:24:57 +00:00
kipp%netscape.com
eea3ab916a Updated SizeOf methods to not waste space when doing a non-debug build
git-svn-id: svn://10.0.0.236/trunk@45397 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-01 01:02:16 +00:00
kipp%netscape.com
c9002f20df Reimplemented SizeOf methods in some of the frame classes; partial rework of first-line handling snapshot
git-svn-id: svn://10.0.0.236/trunk@45274 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-31 03:09:40 +00:00
troy%netscape.com
947927e816 Renamed DeleteFrame() to Destroy()
git-svn-id: svn://10.0.0.236/trunk@40585 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-22 02:24:52 +00:00
kipp%netscape.com
1ff6d04d8d Clean up warnings
git-svn-id: svn://10.0.0.236/trunk@39304 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-14 17:28:45 +00:00
kipp%netscape.com
de60169b67 Reworked frame factory methods; fixed bug 4519
git-svn-id: svn://10.0.0.236/trunk@31154 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-11 22:03:29 +00:00
troy%netscape.com
4a4c187d41 Changed nsPositionedInlineFrame code to handle incremental reflow
git-svn-id: svn://10.0.0.236/trunk@28430 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-21 04:37:13 +00:00
troy%netscape.com
a6d186c6df Added GetFrameType() member function
git-svn-id: svn://10.0.0.236/trunk@28283 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-20 19:11:37 +00:00
kipp%netscape.com
53b7382b01 new
git-svn-id: svn://10.0.0.236/trunk@28173 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-20 00:23:05 +00:00