Commit Graph

372 Commits

Author SHA1 Message Date
attinasi@netscape.com
3dd77e523f Patched topcrash sites: checking for null before deref. b=121444 r=kmcclusk sr=roc+moz a=asa (drivers) 2002-03-26 01:22:31 +00:00
kin@netscape.com
18d38c9803 Fix for bug 102615: After changing font color, backspacing
to a previous line does not let caret
                    update position

Modified RemoveFrame() so that it generates a reflow
command when removing a <br> from an inline with a next-in-flow.

r=dbaron@fas.harvard.edu  sr=attinasi@netscape.com  a=scc@mozilla.org
2002-03-20 01:44:43 +00:00
timeless@mac.com
c16538ef81 Bugzilla Bug 106386 rid source of these misspellings: persistant persistance priviledge protocal editting editted targetted targetting
r='s from many people. sr=jst
2001-12-23 23:23:41 +00:00
karnaze@netscape.com
a3ac20fe84 bug 103925 (2nd patch) - flag pixel rounding errors in display reflow debugging. sr=attinasi, r=bernd 2001-11-14 13:40:03 +00:00
bzbarsky@mit.edu
aa00eb2f47 Use NS_LITERAL_STRING instead of NS_ConvertASCIItoUCS2 where possible
(i.e. where the string is a literal).  Bug 104159, r=jag, sr=alecf
2001-11-14 01:33:42 +00:00
karnaze@netscape.com
63f46f0ed2 bug 103925 - general reflow debugging capability. sr=attinasi, r=alexsavulov 2001-10-29 01:43:59 +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
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
waterson@netscape.com
888d51e4cf Bug 59200. Merge floater reflow and placement into FlowAndPlaceFloater() to deal with the fact that a floater may need to be reflowed as its 'pushed' to a new location. For auto-width floaters, ensure that the floater is not flowed at a width less than its max-element-size. Enforce CSS2 section 9.5.1 rule [2] by maintaining mLastFloaterY in the reflow state. r=rbs, sr=attinasi. 2001-05-21 23:03:46 +00:00
erik@netscape.com
d24bee0abc bug 71370; author=simon@softel.co.il; r=attinasi; sr=erik; implement bidi
(bidirectional text) for languages such as Arabic and Hebrew; from IBM bidi
project; not part of build yet (due to #ifdef IBMBIDI)
2001-03-09 03:29:00 +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
buster@netscape.com
c639e1a5a5 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.
2000-09-11 20:46:44 +00:00
waterson@netscape.com
3a349643d6 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. 2000-07-28 22:29:28 +00:00
waterson@netscape.com
0909469319 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 2000-07-27 05:16:08 +00:00
rods@netscape.com
526976891e Add ifdef'ed Performance Reflow Counting code 2000-04-21 14:59:47 +00:00
buster@netscape.com
a88207dcc0 bug 29595 (and others)
fixes layout of pages where a single line is impacted by 2 or more floaters
r=troy
2000-03-22 23:19:10 +00:00
troy@netscape.com
da0ecd3c51 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
2000-03-22 04:06:37 +00:00
troy@netscape.com
02f3037d4c b=5588. Changed it so we lazily reparent the child frames on the overflow list
when it's our initial reflow
2000-03-12 03:14:11 +00:00
buster@netscape.com
2ab3dce74b fixed bug 24186 (well, fixed it enough for beta at least. see bug for details)
r=troy
2000-02-02 07:38:23 +00:00
troy@netscape.com
67f034175a b=21657 a=chofmann@netscape.com Made "overflow list" a full fledged
child list and changed ReparentFrameView() to check it.
2000-01-22 01:16:50 +00:00
nisheeth@netscape.com
81aed40d97 r=troy. Changed block, inline, and text frames to call the parent's ReflowDirtyChild() method instead of generating reflow commands. 2000-01-19 03:58:05 +00:00
nisheeth@netscape.com
7e8a04d60e 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. 2000-01-12 21:52:58 +00:00
nisheeth@netscape.com
bd43d81d01 r=troy. Reflow commands are now coalesced by block and inline frames. This fixes bug 985 in which we now generate 6 reflow commands instead of 257. 2000-01-12 08:28:24 +00:00
troy@netscape.com
402f4784e4 Added new #define NS_SHRINKWRAPWIDTH that specifies that a frame should
shrink wrap its width (paying attention to the maximum computed width). Mostly
complete implementation for block frames
2000-01-03 04:32:13 +00:00
troy@netscape.com
7abe460751 Change to how overflow is handled for absolutely positioned elements.
We no longer use nsIAraeFrame and now it's folded into the overflow
area in the reflow metrics
1999-12-06 15:49:53 +00:00
hyatt@netscape.com
9a7a1b27f7 Implementing a generalized recycler and arena for all layout frames. Hoping to improve
bug #9489.  Should also definitely fix bug #15916. r=troy
1999-12-04 23:49:50 +00:00
tbogard@aol.net
617bb737a6 Changed nsIPresContext& to nsIPresContext*. Changed nsEventStatus& to nsEventStatus*. Now more compatible with XPIDL. a=vidur r=scc 1999-11-24 06:03:41 +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
kipp@netscape.com
76a264be87 Disabled debug noise I accidently checked in (whoops!) 1999-11-01 15:31:04 +00:00
kipp@netscape.com
7f353bdd99 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) 1999-11-01 15:24:57 +00:00
troy@netscape.com
5e5f240649 Folded reflow functions into nsIFrame and eliminated nsIFrameReflow and
nsIHTMLReflow. This saves 4 bytes per frame and cleans things up
1999-10-30 02:52:11 +00:00
troy@netscape.com
b8ef6465be Changed SetView/GetView to take an additional argument which is the
pres context
1999-10-26 04:44:41 +00:00
troy@netscape.com
b5d5718a17 Removed 5 convenience functions from nsIFrame 1999-10-22 14:53:52 +00:00
troy@netscape.com
5f859ff871 r=kipp@netscape.com
Added API to get/set properties on frames. Also changed nsContainerFrame
to use a property to implement the frame overflow list. This saves 4 bytes
per container frames
1999-10-21 05:11:43 +00:00
kipp@netscape.com
c100e531d2 Factored common code into a single method (UseComputedHeight) 1999-10-12 23:25:49 +00:00
troy@netscape.com
023b278a49 Added nsHTMLReflowState constructor that allows containing block width
and height to be specified. This is needed for relatively positioned
block elements
1999-09-16 14:33:19 +00:00
kipp@netscape.com
db8f15ea2a Cleaned up 1999-09-09 21:04:00 +00:00
peterl@netscape.com
60c7404515 added reparent style context 1999-09-03 23:35:41 +00:00
kipp@netscape.com
7af7157d50 Implement fix for bug #5821 as per dbaron's suggestion 1999-09-03 03:47:49 +00:00
kipp@netscape.com
0d0c583aac Updated SizeOf methods to not waste space when doing a non-debug build 1999-09-01 01:02:16 +00:00
kipp@netscape.com
3dbd670c62 Reimplemented SizeOf methods in some of the frame classes; partial rework of first-line handling snapshot 1999-08-31 03:09:40 +00:00
troy@netscape.com
1e709cc4fe Fixed a place I had missed when converting over to the new reflow command
handling
1999-08-10 14:28:27 +00:00
troy@netscape.com
84e64beb04 Changed area frame code over to new reflow command handling 1999-07-24 02:37:45 +00:00
troy@netscape.com
8c10dec5d9 Renamed some nsFrameList member functions 1999-07-22 04:00:57 +00:00
troy@netscape.com
d6f5216441 Renamed DeleteFrame() to Destroy() 1999-07-22 02:24:52 +00:00
troy@netscape.com
4588244ada Added 'm' prefix to a couple more data members of nsHTMLReflowState struct 1999-07-20 03:51:46 +00:00
kipp@netscape.com
b77e7ba2e4 Clean up warnings 1999-07-14 17:28:45 +00:00
mcafee@netscape.com
6b6499ed9a Adding BeOS case. 1999-06-26 07:28:55 +00:00