Commit Graph

140 Commits

Author SHA1 Message Date
27e41dcc94 Backing out fix for bug 385607 due to bustage and Tp regressions 2007-08-09 21:41:00 -07:00
9fc9748051 Bug 385607. Force re-evaluation of textruns when block descendants are deleted or added. 2007-08-09 19:49:28 -07:00
1571607ae8 Bug 390671 - Finish adding same-linelist iterator comparison assertions, and remove the useless NS_LINELIST_DEBUG_PASS_END #define that's defined only #ifdef DEBUG. rs+a=dbaron 2007-08-02 15:43:14 -07:00
3d049e8a5b Add assertions that line iterators being compared are iterators over the same line list. rs=dbaron 2007-07-10 17:55:15 -07:00
98de634631 Bug 348748 - Replace all instances of NS_STATIC_CAST and friends with C++ casts (and simultaneously bitrot nearly every patch in existence). r=bsmedberg on the script that did this. Tune in next time for Macro Wars: Episode II: Attack on the LL_* Macros. 2007-07-08 00:08:04 -07:00
0490a58e96 Bug 381385: get rid of unneeded members of nsFloatCache (saves about 50 bytes footprint per float). r+sr=roc. 2007-06-16 13:27:46 -07:00
mats.palmgren@bredband.net
66730a869e Check LL_GOTLINEBOX before using mLineBox. b=368461 r+sr=dbaron 2007-02-08 13:53:51 +00:00
dbaron@dbaron.org
a7fc5bf5b3 Combine the code that tests inlines for dependence on the containing block width in order to disable resize reflow optimizations, and add to that code things that shrink wrap (inline-block, inline-table, buttons, fieldsets). Also move the percentage-height tests out, and into InitResizeFlags. b=163504 r+sr=bzbarsky 2007-01-27 18:40:26 +00:00
dbaron@dbaron.org
d21cb374bd Bug 300030: Move intrinsic width computation out of nsIFrame::Reflow and into its own methods on nsIFrame. Replace reflow reasons, types, and commands with dirty bits/notifications. Thanks to bzbarsky for almost all of the HTML form controls (mozilla/layout/forms) changes, and many others for help testing and patching. For detailed commit logs, see REFLOW_YYYYMMDD_BRANCH, where YYYYMMDD is one of 20061031, 20060830, 20060603, 20060302, 20060119, 20051011, 20050804, 20050429, 20050315, 20050111, and 20041213. 2006-12-08 05:38:33 +00:00
mats.palmgren@bredband.net
115fd200a3 Leave the placeholder's pointer to the out-of-flow intact because the float cache depends on it later on. b=348688 r=bzbarsky sr=roc 2006-08-17 13:15:26 +00:00
roc+@cs.cmu.edu
4186b95e02 relanding fix for bug 317278 :-( 2006-06-29 01:19:48 +00:00
roc+@cs.cmu.edu
ae8b9b80de Bug 237085. Move string subdivision code to gfx so we can efficiently make it metrics-dependent. r=smontagu,sr=rbs 2006-06-26 22:18:23 +00:00
roc+@cs.cmu.edu
82d39021c1 Bug 317278. Reland patch that reflows lines again if we detect some already-placed floats need to move to the next line. This time, with changes to nsSpaceManager's PushState/PopState infrastructure so that dynamic allocations are never required; the saved state is always stack-allocated by callers. r+sr=dbaron 2006-06-19 23:06:59 +00:00
roc+@cs.cmu.edu
ce045a290e Backing out patch for 317278 due to Tp regression 2006-06-19 01:29:07 +00:00
roc+@cs.cmu.edu
96dfde0118 Bug 317278. In some cases we push float placeholders from one line to the next after we have already placed their floats on the line. In such situations, reset the space manager and force the line to reflow again so those floats don't get placed. r+sr=dbaron 2006-06-19 00:02:49 +00:00
uriber@gmail.com
63364c4ef1 Allow searching a line for a frame starting from a given point, to improve performance of forward-moving searches. Used in bidi resolution. bug=339935, r+sr=roc 2006-06-08 08:41:51 +00:00
mats.palmgren@bredband.net
1890e6c861 Clear the float cache from placeholders that are descendants of the frame we remove. b=337883 r+sr=roc 2006-05-25 01:30:34 +00:00
bzbarsky@mit.edu
855fdea48a Don't mess with empty float cache lists. Bug 334105, r+sr+branch181=dbaron 2006-04-17 01:47:11 +00:00
dbaron@dbaron.org
60eede3c11 Single line comments to describe files (helpful in LXR) 2006-03-29 18:29:03 +00:00
timeless@mozdev.org
c95a9608ea Bug 298277 remove useless references to nsVoidArray
r=dbaron sr=dbaron
2006-02-23 10:30:59 +00:00
timeless@mozdev.org
71ed8bc863 Bug 106386 Correct misspellings in source code
patch by mats.palmgren@bredband.net r=dbaron sr=dbaron
2005-11-20 22:05:24 +00:00
bzbarsky@mit.edu
9c086794fc Fix some nsFloatCache leaks. Bug 302438, r+sr=dbaron 2005-10-21 22:23:28 +00:00
roc+@cs.cmu.edu
4f18a37e4e Bug 280987. Remove aPresContext from nsIFrameDebug::List. r+sr=roc, patch by Vidar Braut Harr. 2005-09-06 21:34:50 +00:00
timeless@mozdev.org
35574fcff9 Bug 277553 clicking on Textarea with a RTL direction doesnt work
patch by uriber@gmail.com r=bz sr=bz a=bsmedberg
2005-08-02 21:55:55 +00:00
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