roc+@cs.cmu.edu
5e94c3a7c5
Bug 186485. The nsLineBox maximum-width includes the block's left border-padding but not the right. r+sr=roc,a=asa,patch by Hideo Saito
2005-06-20 03:42:19 +00:00
roc+@cs.cmu.edu
b9ae93961a
Bug 209694. Major rework of margin-collapsing and clearance to match CSS 2.1 rules. Also includes major incremental reflow fixes for those situations. See the bug for details. rubber-stamp r+sr=dbaron
2004-11-25 14:51:00 +00:00
roc+@cs.cmu.edu
445121a8e8
Bug 269905. Remember emptiness state on line boxes, but be selective about to to minimize the invalidation burden. r+sr=dbaron
2004-11-24 13:22:10 +00:00
roc+@cs.cmu.edu
bcd5829bb7
Bug 257612. Fix dynamic margin changes by 1) Propagate IsPreviousMarginDirty through empty lines 2) Reflow any line whose previous margin is dirty. 3) If a reflowed line could have been tested in a subsequent line's ShouldApplyTopMargin both before and after reflow, and might have been empty before or after reflow, then make the next line's previous margin dirty. 4) If reflowing a block changes its carried-out margin, then mark the next line's previous margin dirty. r+sr=dbaron
2004-09-18 14:39:07 +00:00
roc+@cs.cmu.edu
a4b6406697
Bug 258118. Ensure that float breaks are eventually honoured even if the line with the break is not reflowed and the following line is empty. r+sr=dbaron(rubber-stamp)
2004-09-13 02:21:35 +00:00
bryner@brianryner.com
6cde4639f0
Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc
2004-07-31 23:15:21 +00:00
dbaron@dbaron.org
fe56d877b9
Remove hacks no longer needed since text inputs became reflow roots (instead of using the IncrementalDamageConstrained hack. b=241833 r+sr=rbs
2004-05-04 23:56:25 +00:00
gerv@gerv.net
a1ec040a65
Bug 236613: change to MPL/LGPL/GPL tri-license.
2004-04-18 14:30:37 +00:00
roc+@cs.cmu.edu
11a1310d27
Bug 51938. Cache recently accessed line if the lines' combinedArea.y/ymosts are nondecreasing --- speeds up painting and event handling on large blocks. r+sr=bzbarsky
2004-03-07 18:04:24 +00:00
cbiesinger@web.de
292a40e738
Bug 231372
...
GetCombinedArea could be faster/better
make it return an nsRect as return value instead of out parameter.
r=dbaron sr=bzbarsky
2004-01-22 15:06:25 +00:00
dbaron@dbaron.org
3696673382
Clean up nsIFrame::IsEmpty signature and move towards making 'white-space' work on inlines. b=191699 r+sr=roc
2003-11-10 23:36:06 +00:00
dbaron@dbaron.org
9446ce805f
Use the correct term "float" instead of "floater". b=218654 r+sr=bzbarsky
2003-10-13 21:51:02 +00:00
dbaron@dbaron.org
ea100487d6
Change the way we calculate max-element-width for blocks with floaters: stop trying (and sometimes failing) to ensure that there can always be text next to the floater. b=186593 r+sr=roc+moz
2003-02-22 16:19:31 +00:00
dbaron@dbaron.org
834096485c
Remove nsISizeOfHandler and associated SizeOf methods. b=106792 r=bzbarsky sr=jst
2003-02-22 15:34:38 +00:00
dbaron@fas.harvard.edu
8a88f30fc6
Change my email address from dbaron@fas.harvard.edu to dbaron@dbaron.org. Comment changes only.
2003-01-01 23:53:20 +00:00
dbaron@fas.harvard.edu
4c4f65aba0
Correctly implement text-decoration in standards mode by drawing the underline on the element with the text-decoration property set. Refactor painting code a bit to avoid code duplication. Patch by Esben Mose Hansen <esben@oek.dk>, with paint refactoring and some other changes by dbaron. r=dbaron sr=bzbarsky b=1777
2002-12-11 04:00:18 +00:00
dbaron@fas.harvard.edu
b5aa3f413f
Correct my incorrect comments relating to combined area, and explain what combined area is for. Comment changes only. b=172896
2002-11-21 15:20:20 +00:00
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