Commit Graph

235 Commits

Author SHA1 Message Date
karnaze@netscape.com
2fd40ad4c3 bug 169620 - don't pass in negative avail widths, don't add/subtract from NS_UNCONSTRAINEDSIZE, make HR's desired width at least as big as its me width. sr=kin, r=dbaron 2002-09-24 21:02:20 +00:00
roc+@cs.cmu.edu
3d29b8d6ba Bug 75121. Incrementally reflow absolute frames without doing a resize-reflow of the container. Patch by dbaron and roc. r=dbaron,r=roc,sr=kin 2002-09-24 11:43:48 +00:00
aaronl@netscape.com
45afae9cf2 Bug 160793. Active Accessibility: support broken images. r=kyle, sr=hewitt 2002-08-10 07:59:44 +00:00
kin@netscape.com
4b055a15d0 Fix for bug 157055 (Text doesn't show up on Lycos mail front page (layout broken by focus))
Removed |!aReflowState.path->mReflowCommand| check from |if| condition for the first block that attempts to incrementally reflow the block's absolute children.

This was preventing us from properly reflowing an absolute positioned child or one its children when the current reflow path tree contained both a reflow command targeted at the block and one targeted at the aboslutely positioned child or one of its children. This check shouldn't be necessary since nsAbsoluteContainingBlock::IncrementalReflow() does the necessary checks to see if it really should reflow any of the absolute children.

r=karnaze@netscape.com,waterson@netscape.com  sr=dbaron@fas.harvard.edu   a=asa@mozilla.org
2002-07-29 04:19:15 +00:00
karnaze@netscape.com
0fba8bb002 bug 154741 - use macros instead of NS_FRAME_COMPLETE, a=asa, sr=kin, r=alexsavulov. 2002-07-15 14:46:01 +00:00
dbaron@fas.harvard.edu
d7ebbb7e37 Split strict mode into almost-standards and full-standards mode, where the only quirk in almost standards mode is the quirky inline box model. Remove previous fix for bug 151620. Tweak mode detection to use almost-standards for XHTML Transitional, HTML 4.01 transitional with system ID, and for IBM system DOCTYPE. b=153032 r=karnaze, bzbarsky, harishd sr=waterson 2002-06-25 21:16:17 +00:00
karnaze@netscape.com
47b297998d bug 148399 - fix places where patch in bug 145305 incorrectly changed checks for NS_FRAME_COMPLETE to use NS_FRAME_IS_NOT_COMPLETE macro. sr=kin, r=alexsavulov 2002-06-14 14:40:02 +00:00
dbaron@fas.harvard.edu
f87e9ee15f Fix performance problem on home.netscape.com: Don't do full reflow of all absolutely positioned elements whose containing block is on the path to the target of an incremental reflow. b=146831 sr=waterson r=kin 2002-06-12 03:21:00 +00:00
karnaze@netscape.com
7ce5d8ded3 bug 145305 - split floaters during printing. sr=attinasi, r=alexsavulov. 2002-05-28 22:50:43 +00:00
shanjian@netscape.com
8ee8e6e790 #142562 problem with <td align=right or align=center
We are observing langGroup in some place while ignor it in others. This patch
make all font metrics call consistent. nsIRenderingContext API is change to
make things neat.
r=rbs, sr=waterson
2002-05-24 20:11:14 +00:00
jst@netscape.com
78ccba6821 Fixing bug 146034. Getting rid of nsHTMLIIDs.{h,cpp}. r=jfrancis@netscape.com, sr=rpotts@netscape.com 2002-05-23 00:00:34 +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
d1856f6f91 Remove |aForceUnique| parameter from style context resolving methods, and corresponding flag from nsStyleContext, since the only caller was ReResolveStyleContext (on the assumption that other callers used it). Allow ReResolveStyleContext to benefit from FindChildWithRules and allow it to re-resolve to the same tree even when called on the root style context. b=133821 r=attinasi sr=hyatt a=asa 2002-03-31 16:59:00 +00:00
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