Commit Graph

49 Commits

Author SHA1 Message Date
dbaron@fas.harvard.edu
c0b8c3124a Remove nsLineBox::RemoveFloatersFromSpaceManager, and use nsSpaceManager::PushState and nsSpaceManager::PopState instead. b=177342 r=roc sr=kin 2002-11-17 15:51:25 +00:00
seawood@netscape.com
acbfd89feb The c++ standard requires that the throw list be used when declaring functions as well as defining them.
commercial compiler fixes for bug #149032
2002-07-03 17:14:41 +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
jst@netscape.com
74f7d6a45d Fixing bug 120899. Changing the NS_WARN_IF_FALSE() macro so that it can't be mis-used in optimized builds. This change makes the macro not usable in expressions that are supposed to be evaluated in release code since the macro now expands to nothing in non-debug builds. Also eliminate NS_VALIDATE which is equally mis-usable. r=dbaron@fas.harvard.edu, sr=brendan@mozilla.org 2002-01-24 09:20:51 +00:00
dbaron@fas.harvard.edu
d3f01c8c10 Remove unnecessary XPCOM interface around nsSpaceManager. b=102453 r=jag sr=waterson 2001-10-26 05:06:07 +00:00
dbaron@fas.harvard.edu
049656535e Fix Mac debug build bustage. (Why don't we have a mac debug tinderbox?) b=86947 2001-10-25 20:19:32 +00:00
dbaron@fas.harvard.edu
601e21d904 Fixing AIX and OS/2 bustage by passing by value instead of by reference to operator== and operator!=. 2001-10-25 06:34:10 +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
dbaron@fas.harvard.edu
b46d1c0dfe Make the width of floats with |width: auto| depend only on the width of the containing block and the contents of the float and not on the available space. Remove the loop calling ReflowFloater at different positions that is no longer needed, and remove the caching of the max element size for that loop that was not being invalidated correctly between reflows. Fix handling of margin, border, and padding for computation of available width for |width: auto| floaters. r=attinasi sr=waterson b= 85876, 82314, 82315, 85216, 85874, 86746 2001-07-19 02:33:43 +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
dbaron@fas.harvard.edu
6fc3f9c294 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 2000-12-16 18:56:06 +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
buster@netscape.com
ef91ca7b14 bug 45152 (Typed text does not render in TextAreas with a horizontal scrollbar)
fixed by adding a flag in nsLineBox for the content of a line to mark it "forceInvalidate",
logic in nsLineLayout to set the line dirty for initial reflow of text frames,
and logic in block to check the new flag.
r=kin
2000-08-24 04:26:43 +00:00
anthonyd@netscape.com
8a44359dde warning fixes for linux. r: mjudge a: beppe 2000-06-16 22:28:10 +00:00
anthonyd@netscape.com
9c9e0c5a15 avoiding confusion between line iterator between layout and navigation.
if you want a line iterator for navigation you must explicitly ask for one.
2000-05-16 08:11:14 +00:00
anthonyd@netscape.com
71ccee07a0 r:mjudge
fix for bug# 29785, keyboard navigation of tables in editor
not completely fixed, tables with row|column span do not navigate correctly
2000-05-11 01:04:39 +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
3932716d1d Now line boxes are allocated out of the pres shell arena. This reduces the
overhead of memory allocation, and it gets us recycling which speeds up
resize reflows
2000-03-12 03:00:51 +00:00
troy@netscape.com
42284c6625 More work on getting block frames to incrementally update their
maximum width
2000-01-08 03:58:27 +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
f0465b161b Work-in-progress for having maximum width (needed by tables) be updated
incrementally
1999-12-30 04:15:45 +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
kipp@netscape.com
4b6dc3b71b r=troy; Shrink block frames by 4 bytes per instance by making the overflow-lines instance variable a frame property 1999-11-02 23:42:52 +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
35f2227e1c r=troy; api changes for 12958, 12760 and preperations for 17377 1999-10-29 14:35:36 +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
kipp@netscape.com
fdb00751c1 Fixed O(N^2) debug logic bug; speed up paint loop by avoiding painting too much now that we have combined-area (bug 7455, 12297) 1999-10-19 23:04:19 +00:00
kipp@netscape.com
ad62fe2e34 r=troy; Reworked nsLineBox api to allow for reduced storage overhead; fixed bug 16252 while keeping bug 12709 fixed 1999-10-14 23:10:03 +00:00
kipp@netscape.com
1a9b3fe785 r=troy; Cleaned up line-box API (prep work for bug #12297; more coming); Support new line iterator API change (#16176) 1999-10-12 23:24:22 +00:00
kipp@netscape.com
ea36a75c90 Cleanup moz-decl-counter usage and fix NS_LOG_ADDREF usage 1999-10-08 20:41:19 +00:00
troy@netscape.com
355fa397e5 Added SizeOf() handler for floater information maintained by the
line box
1999-10-02 02:51:03 +00:00
kipp@netscape.com
f65ea2499e Fixed various incremental reflow bugs (1764,12890,1910,2222) and list bullet painting bug (10675,13599) 1999-09-15 00:28:10 +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
5bb666240c Changed block frame code to cache the max element width. This enables
us to ask for the maxElementSize when doing an incremental reflow
1999-08-28 00:39:55 +00:00
kipp@netscape.com
2190d4b00a Updated line iterator impl to match API in nsILineIterator 1999-05-13 00:54:28 +00:00
kipp@netscape.com
2e41840893 Beginnings of a line iterator 1999-05-10 22:28:49 +00:00
kipp@netscape.com
d3ad3e85a5 Added WasDirty for debugging incremental reflow 1999-04-27 22:12:53 +00:00
kipp@netscape.com
390aafb954 Tweaked FindLineContaining to return the index in the line where the frame is found 1999-04-20 21:52:22 +00:00
kipp@netscape.com
eca985a6c9 Added first line support methods 1999-04-20 00:22:58 +00:00
kipp@netscape.com
a6d69335f1 Removed some debris 1999-04-03 18:57:51 +00:00
kipp@netscape.com
c7f0b4d479 Removed some cruft 1999-03-29 23:45:49 +00:00
kipp@netscape.com
8191f0a6d6 Removed carried-out-top-margin 1999-03-27 01:24:24 +00:00
kipp@netscape.com
b1fe154193 Spanked away SizeOf methods and nsIListFilter 1999-01-16 00:00:50 +00:00
kipp@netscape.com
fd64a7be0d Added set/get empty line methods (currently unused) 1998-12-17 18:54:40 +00:00
kipp@netscape.com
c5e183771b #ifdef'd out the outside-children state methods 1998-12-15 00:16:21 +00:00
kipp@netscape.com
aafe9ee174 Updated 1998-12-05 16:01:11 +00:00
kipp@netscape.com
3674ca0897 new 1998-12-01 16:13:49 +00:00