jwalden%mit.edu
dda6ff3c99
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.
...
git-svn-id: svn://10.0.0.236/trunk@229504 18797224-902f-48f8-a5cc-f745e15eee43
2007-07-08 07:08:56 +00:00
sharparrow1%yahoo.com
b12e3b26ae
Bug 381385: get rid of unneeded members of nsFloatCache (saves about 50 bytes footprint per float). r+sr=roc.
...
git-svn-id: svn://10.0.0.236/trunk@228176 18797224-902f-48f8-a5cc-f745e15eee43
2007-06-16 20:27:46 +00:00
mats.palmgren%bredband.net
f18bdf8544
Check LL_GOTLINEBOX before using mLineBox. b=368461 r+sr=dbaron
...
git-svn-id: svn://10.0.0.236/trunk@219703 18797224-902f-48f8-a5cc-f745e15eee43
2007-02-08 13:53:51 +00:00
dbaron%dbaron.org
c380d24c54
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
...
git-svn-id: svn://10.0.0.236/trunk@219046 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-27 18:40:26 +00:00
dbaron%dbaron.org
1ca9f3f372
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.
...
git-svn-id: svn://10.0.0.236/trunk@216738 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 05:38:33 +00:00
mats.palmgren%bredband.net
3f20c69ea2
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
...
git-svn-id: svn://10.0.0.236/trunk@207728 18797224-902f-48f8-a5cc-f745e15eee43
2006-08-17 13:15:26 +00:00
roc+%cs.cmu.edu
b1ae3cf7e7
relanding fix for bug 317278 :-(
...
git-svn-id: svn://10.0.0.236/trunk@201179 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-29 01:19:48 +00:00
roc+%cs.cmu.edu
bd9175c940
Bug 237085. Move string subdivision code to gfx so we can efficiently make it metrics-dependent. r=smontagu,sr=rbs
...
git-svn-id: svn://10.0.0.236/trunk@200963 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-26 22:18:23 +00:00
roc+%cs.cmu.edu
d643001e93
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
...
git-svn-id: svn://10.0.0.236/trunk@200367 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-19 23:06:59 +00:00
roc+%cs.cmu.edu
fd309fa894
Backing out patch for 317278 due to Tp regression
...
git-svn-id: svn://10.0.0.236/trunk@200257 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-19 01:29:07 +00:00
roc+%cs.cmu.edu
6d142c7e60
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
...
git-svn-id: svn://10.0.0.236/trunk@200256 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-19 00:02:49 +00:00
uriber%gmail.com
8b9a1f9460
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
...
git-svn-id: svn://10.0.0.236/trunk@199496 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-08 08:41:51 +00:00
mats.palmgren%bredband.net
416c8f1e7b
Clear the float cache from placeholders that are descendants of the frame we remove. b=337883 r+sr=roc
...
git-svn-id: svn://10.0.0.236/trunk@198362 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-25 01:30:34 +00:00
bzbarsky%mit.edu
c0fedf14ea
Don't mess with empty float cache lists. Bug 334105, r+sr+branch181=dbaron
...
git-svn-id: svn://10.0.0.236/trunk@194490 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-17 01:47:41 +00:00
dbaron%dbaron.org
b258ce85ca
Single line comments to describe files (helpful in LXR)
...
git-svn-id: svn://10.0.0.236/trunk@193203 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-29 18:29:03 +00:00
timeless%mozdev.org
faf573a28d
Bug 298277 remove useless references to nsVoidArray
...
r=dbaron sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@191016 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-23 10:30:59 +00:00
timeless%mozdev.org
a05383ef1b
Bug 106386 Correct misspellings in source code
...
patch by mats.palmgren@bredband.net r=dbaron sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@185018 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-20 22:05:24 +00:00
bzbarsky%mit.edu
4e94da951e
Fix some nsFloatCache leaks. Bug 302438, r+sr=dbaron
...
git-svn-id: svn://10.0.0.236/trunk@182747 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-21 22:23:28 +00:00
roc+%cs.cmu.edu
906863a0f9
Bug 280987. Remove aPresContext from nsIFrameDebug::List. r+sr=roc, patch by Vidar Braut Harr.
...
git-svn-id: svn://10.0.0.236/trunk@179728 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-06 21:34:50 +00:00
timeless%mozdev.org
c2fcb662c5
Bug 277553 clicking on Textarea with a RTL direction doesnt work
...
patch by uriber@gmail.com r=bz sr=bz a=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@177023 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-02 21:55:55 +00:00
roc+%cs.cmu.edu
ce1b9ce1d3
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
...
git-svn-id: svn://10.0.0.236/trunk@174836 18797224-902f-48f8-a5cc-f745e15eee43
2005-06-20 03:42:19 +00:00
roc+%cs.cmu.edu
d4a6c32e7b
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
...
git-svn-id: svn://10.0.0.236/trunk@165781 18797224-902f-48f8-a5cc-f745e15eee43
2004-11-25 14:51:00 +00:00
roc+%cs.cmu.edu
0ce7145190
Bug 269905. Remember emptiness state on line boxes, but be selective about to to minimize the invalidation burden. r+sr=dbaron
...
git-svn-id: svn://10.0.0.236/trunk@165713 18797224-902f-48f8-a5cc-f745e15eee43
2004-11-24 13:22:10 +00:00
roc+%cs.cmu.edu
0c4ce3d86f
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
...
git-svn-id: svn://10.0.0.236/trunk@162521 18797224-902f-48f8-a5cc-f745e15eee43
2004-09-18 14:39:07 +00:00
roc+%cs.cmu.edu
007e533df8
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)
...
git-svn-id: svn://10.0.0.236/trunk@162191 18797224-902f-48f8-a5cc-f745e15eee43
2004-09-13 02:21:35 +00:00
bryner%brianryner.com
865734bf2f
Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc
...
git-svn-id: svn://10.0.0.236/trunk@160184 18797224-902f-48f8-a5cc-f745e15eee43
2004-07-31 23:15:21 +00:00
dbaron%dbaron.org
39913966e5
Remove hacks no longer needed since text inputs became reflow roots (instead of using the IncrementalDamageConstrained hack. b=241833 r+sr=rbs
...
git-svn-id: svn://10.0.0.236/trunk@155945 18797224-902f-48f8-a5cc-f745e15eee43
2004-05-04 23:56:25 +00:00
gerv%gerv.net
2ac510b678
Bug 236613: change to MPL/LGPL/GPL tri-license.
...
git-svn-id: svn://10.0.0.236/trunk@155068 18797224-902f-48f8-a5cc-f745e15eee43
2004-04-18 14:30:37 +00:00
roc+%cs.cmu.edu
b3c7e5391b
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
...
git-svn-id: svn://10.0.0.236/trunk@153649 18797224-902f-48f8-a5cc-f745e15eee43
2004-03-07 18:04:24 +00:00
cbiesinger%web.de
ccedbc4f4e
Bug 231372
...
GetCombinedArea could be faster/better
make it return an nsRect as return value instead of out parameter.
r=dbaron sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@151690 18797224-902f-48f8-a5cc-f745e15eee43
2004-01-22 15:06:25 +00:00
dbaron%dbaron.org
c53d72392a
Clean up nsIFrame::IsEmpty signature and move towards making 'white-space' work on inlines. b=191699 r+sr=roc
...
git-svn-id: svn://10.0.0.236/trunk@149126 18797224-902f-48f8-a5cc-f745e15eee43
2003-11-10 23:36:06 +00:00
dbaron%dbaron.org
33601224e0
Use the correct term "float" instead of "floater". b=218654 r+sr=bzbarsky
...
git-svn-id: svn://10.0.0.236/trunk@147924 18797224-902f-48f8-a5cc-f745e15eee43
2003-10-13 21:51:02 +00:00
dbaron%dbaron.org
897a1a273b
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
...
git-svn-id: svn://10.0.0.236/trunk@138197 18797224-902f-48f8-a5cc-f745e15eee43
2003-02-22 16:19:31 +00:00
dbaron%dbaron.org
e6a2b29ebf
Remove nsISizeOfHandler and associated SizeOf methods. b=106792 r=bzbarsky sr=jst
...
git-svn-id: svn://10.0.0.236/trunk@138193 18797224-902f-48f8-a5cc-f745e15eee43
2003-02-22 15:34:38 +00:00
dbaron%fas.harvard.edu
ffb8d9cca7
Change my email address from dbaron@fas.harvard.edu to dbaron@dbaron.org. Comment changes only.
...
git-svn-id: svn://10.0.0.236/trunk@135757 18797224-902f-48f8-a5cc-f745e15eee43
2003-01-01 23:53:20 +00:00
dbaron%fas.harvard.edu
10a7236c6a
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
...
git-svn-id: svn://10.0.0.236/trunk@135099 18797224-902f-48f8-a5cc-f745e15eee43
2002-12-11 04:00:18 +00:00
dbaron%fas.harvard.edu
10dd68c42b
Correct my incorrect comments relating to combined area, and explain what combined area is for. Comment changes only. b=172896
...
git-svn-id: svn://10.0.0.236/trunk@134264 18797224-902f-48f8-a5cc-f745e15eee43
2002-11-21 15:20:20 +00:00
dbaron%fas.harvard.edu
a0f469c2b2
Remove nsLineBox::RemoveFloatersFromSpaceManager, and use nsSpaceManager::PushState and nsSpaceManager::PopState instead. b=177342 r=roc sr=kin
...
git-svn-id: svn://10.0.0.236/trunk@134007 18797224-902f-48f8-a5cc-f745e15eee43
2002-11-17 15:51:25 +00:00
seawood%netscape.com
08f53dff2a
The c++ standard requires that the throw list be used when declaring functions as well as defining them.
...
commercial compiler fixes for bug #149032
git-svn-id: svn://10.0.0.236/trunk@124604 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-03 17:14:41 +00:00
dbaron%fas.harvard.edu
7c4652cc16
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
...
git-svn-id: svn://10.0.0.236/trunk@124017 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 21:16:17 +00:00
jst%netscape.com
b9772d48fe
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
...
git-svn-id: svn://10.0.0.236/trunk@112678 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-24 09:20:51 +00:00
dbaron%fas.harvard.edu
7ddeb79974
Remove unnecessary XPCOM interface around nsSpaceManager. b=102453 r=jag sr=waterson
...
git-svn-id: svn://10.0.0.236/trunk@106331 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 05:06:07 +00:00
dbaron%fas.harvard.edu
e1c9429f4f
Fix Mac debug build bustage. (Why don't we have a mac debug tinderbox?) b=86947
...
git-svn-id: svn://10.0.0.236/trunk@106280 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 20:19:32 +00:00
dbaron%fas.harvard.edu
be48c3eb66
Fixing AIX and OS/2 bustage by passing by value instead of by reference to operator== and operator!=.
...
git-svn-id: svn://10.0.0.236/trunk@106253 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 06:34:10 +00:00
dbaron%fas.harvard.edu
8b3489a026
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
git-svn-id: svn://10.0.0.236/trunk@106224 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 01:08:40 +00:00
gerv%gerv.net
13afb6d0f9
Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089.
...
git-svn-id: svn://10.0.0.236/trunk@104119 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 20:14:13 +00:00
dbaron%fas.harvard.edu
890ce3eef5
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
...
git-svn-id: svn://10.0.0.236/trunk@99561 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-19 02:33:43 +00:00
waterson%netscape.com
e26708f220
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.
...
git-svn-id: svn://10.0.0.236/trunk@95630 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-21 23:03:46 +00:00
erik%netscape.com
dc9f2947a7
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)
git-svn-id: svn://10.0.0.236/trunk@89069 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-09 03:29:00 +00:00
dbaron%fas.harvard.edu
0e283e8c8c
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
...
git-svn-id: svn://10.0.0.236/trunk@83772 18797224-902f-48f8-a5cc-f745e15eee43
2000-12-16 18:56:06 +00:00