117 Commits

Author SHA1 Message Date
roc+%cs.cmu.edu
c5bc6fd3ff Bug 369227. Record the first soft break beyond the available width, if there isn't one within the available width. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@220621 18797224-902f-48f8-a5cc-f745e15eee43
2007-02-21 01:52:03 +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
103e95ab15 Change the bulk of ascent (baseline) computation to happen on a virtual method on nsIFrame, and remove the redundant descent member from nsHTMLReflowMetrics, primarily to support having both first-line and last-line baselines. b=367332 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@218785 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-23 04:06:56 +00:00
roc+%cs.cmu.edu
29067fe44b Bug 333659. Relanding nsLineLayout API changes for new text code. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@218576 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-18 01:20:09 +00:00
roc+%cs.cmu.edu
09049cfebe Backout of nsLineLayout changes; trying to fix luna orange
git-svn-id: svn://10.0.0.236/trunk@218497 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-17 06:27:01 +00:00
roc+%cs.cmu.edu
75d52f8575 Bug 333659. Relanding new nsLineLayout API to make in-first-line-frame and current-nsLineBox available; should not affect anything. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@218491 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-17 03:59:32 +00:00
roc+%cs.cmu.edu
4f42d74394 Backing out text landing.
git-svn-id: svn://10.0.0.236/trunk@218456 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-16 22:25:20 +00:00
roc+%cs.cmu.edu
e2373f9a14 Bug 333659. Landing new text interfaces, new gfxPangoTextRun (enabled), new textframe code (disabled). r+sr=dbaron for the part-of-the-build layout parts,r=stuart for the part-of-the-build gfx parts
git-svn-id: svn://10.0.0.236/trunk@218447 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-16 20:51:52 +00:00
dbaron%dbaron.org
534cefc5fa Remove nsLineLayout::mWordWidth, which should have been removed in earlier reflow branch merging. b=363232 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@216966 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 23:11:13 +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
roc+%cs.cmu.edu
f06ba26d9e Bug 343445. Change inline reflow strategy to avoid looking ahead through words while measuring text. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@213836 18797224-902f-48f8-a5cc-f745e15eee43
2006-10-19 01:47:47 +00:00
bzbarsky%mit.edu
1aeb3f0f20 Trim whitespace that comes right before a <br> when trimming whitespace. Bug
132561 relanding, r+sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@195017 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-21 01:31:35 +00:00
bzbarsky%mit.edu
6dc3270ec7 Make line boxes have the right width when justifying. Bug 309761, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@194200 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-12 01:07:01 +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
rbs%maths.uq.edu.au
ea324b55a6 Re-checkin as it showed no impact on luna's TDHML bug 331661. Introduce a soft-break flag that means that a whitespace has been trimmed at the end of the line, and therefore its width has not been accounted for (this width can actually be large, e.g., if a large word-spacing is set). LineLayout should not be misled into placing something where the whitespace was trimmed. b=329987, r+sr=bz
git-svn-id: svn://10.0.0.236/trunk@193030 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-27 07:04:29 +00:00
rbs%maths.uq.edu.au
f057f2eefe Backing out to investigate the DHTML jump on luna, bug 331661
git-svn-id: svn://10.0.0.236/trunk@193028 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-27 05:21:44 +00:00
rbs%maths.uq.edu.au
a824b2320f Introduce a soft-break flag that means that a whitespace has been trimmed at the end of the line, and therefore its width has not been accounted for (this width can actually be large, e.g., if a large word-spacing is set). LineLayout should not be misled into placing something where the whitespace was trimmed. b=329987, r+sr=bz
git-svn-id: svn://10.0.0.236/trunk@192959 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-24 22:45:05 +00:00
roc+%cs.cmu.edu
2816caa04c Bug 297537. Line layout should not set an available-height constraint on the inline frames, because they can't break vertically ... and it certainly shouldn't set the constraint based on the band dimensions. Fixes Gmail rich text toolbar layout issue. r+sr=dbaron,a=asa
git-svn-id: svn://10.0.0.236/trunk@174750 18797224-902f-48f8-a5cc-f745e15eee43
2005-06-17 02:46:36 +00:00
roc+%cs.cmu.edu
7f1a3c9c93 Bug 263825. Make paginated floats work, and other fixes. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@171036 18797224-902f-48f8-a5cc-f745e15eee43
2005-03-23 03:35:08 +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
jim_nance%yahoo.com
b0e12359c6 Fix But #250105 - Add Arena for nsLineLayout buffers. r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@159260 18797224-902f-48f8-a5cc-f745e15eee43
2004-07-15 17:50:34 +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
dbaron%dbaron.org
693eed6a2d Backing out my checkin from yesterday. b=199673
git-svn-id: svn://10.0.0.236/trunk@153837 18797224-902f-48f8-a5cc-f745e15eee43
2004-03-10 17:13:39 +00:00
dbaron%dbaron.org
2cefb8b1dd In almost-standards mode, standards-mode text decorations and quirks-mode inline box model have to interact -- so make standards-mode text-decorations (when text-decorations are present) cause the standards-mode inline box model. b=199673 r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@153794 18797224-902f-48f8-a5cc-f745e15eee43
2004-03-10 00:28:17 +00:00
scott%scott-macgregor.org
de903528ff Back out Bug #132561 until we can figure out how to fix the regression it causes in HTML composer with spaces
(See Bug #235223).

a=brendan


git-svn-id: svn://10.0.0.236/trunk@153416 18797224-902f-48f8-a5cc-f745e15eee43
2004-03-02 01:23:13 +00:00
bzbarsky%mit.edu
fed1bb3ece Trim whitespace that comes right before a <br> when trimming whitespace. Bug
132561, r+sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@152976 18797224-902f-48f8-a5cc-f745e15eee43
2004-02-19 22:12:38 +00:00
bzbarsky%mit.edu
e94a4a8364 Collapse trailing whitespace even if there is a placeholder after it. Bug
233451, r+sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@152533 18797224-902f-48f8-a5cc-f745e15eee43
2004-02-09 01:01:06 +00:00
dbaron%dbaron.org
6ab19b722c Removed unused LineIsEmpty function.
git-svn-id: svn://10.0.0.236/trunk@149158 18797224-902f-48f8-a5cc-f745e15eee43
2003-11-11 19:25:49 +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
1253348a57 Remove LL_TEXTSTARTSWITHNBSP, since it's a partial and broken solution to the problem, and it's in the wrong place. b=187899 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@147413 18797224-902f-48f8-a5cc-f745e15eee43
2003-09-28 22:56:08 +00:00
pkw%us.ibm.com
16468107e7 Bug 217499: Clean up AIX libpath and configure script
r=cls@seawood.org, a=asa@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@146443 18797224-902f-48f8-a5cc-f745e15eee43
2003-08-29 17:15:06 +00:00
dbaron%dbaron.org
75df55b0bf Make sure we include the overflow area in the size of views, for blocks and inlines, at least. b=79315 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@145090 18797224-902f-48f8-a5cc-f745e15eee43
2003-07-23 00:14:16 +00:00
mkaply%us.ibm.com
ea2071d85d rs=leaf
Remove XP_OS2_VACPP from the tree


git-svn-id: svn://10.0.0.236/trunk@145037 18797224-902f-48f8-a5cc-f745e15eee43
2003-07-21 22:10:08 +00:00
dbaron%dbaron.org
a569c670f5 Replace computation of max-element-size (height and width) with max-element-width alone, since the max-element-height is practically unused and not meaningful for layout. b=186953 r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@136064 18797224-902f-48f8-a5cc-f745e15eee43
2003-01-09 14:26:32 +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
bzbarsky%mit.edu
23118ef7a0 Reorder some members in nsLineLayout to make them pack better. Bug
176749, patch by dann@godzilla.ics.uci.edu (Dan), r=bzbarsky, sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@133071 18797224-902f-48f8-a5cc-f745e15eee43
2002-11-06 02:03:43 +00:00
karnaze%netscape.com
35e78f4c8c bug 157915 - Use the parent of the continued frame when calling DeleteChildsNextInFlow. sr=kin, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@130380 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-24 22:13:20 +00:00
dbaron%fas.harvard.edu
87f1ec1ab2 Back out most of patch for bug 154910 to fix crash, since nsLineLayout need not do all its allocation without other things lower on the stack. b=162516
git-svn-id: svn://10.0.0.236/trunk@127257 18797224-902f-48f8-a5cc-f745e15eee43
2002-08-14 13:00:16 +00:00
dbaron%fas.harvard.edu
1894434edb Make BR-related parts of the quirky inline box model also quirky in almost-standards mode, to match the rest of the inline box model quirks. b=161691 sr=bzbarsky r=caillon
git-svn-id: svn://10.0.0.236/trunk@127036 18797224-902f-48f8-a5cc-f745e15eee43
2002-08-11 18:00:07 +00:00
dbaron%fas.harvard.edu
07544907b6 Allocate PerFrameData and PerSpanData in pres shell's stack arena. b=154910 r=bzbarsky sr=waterson
git-svn-id: svn://10.0.0.236/trunk@126515 18797224-902f-48f8-a5cc-f745e15eee43
2002-08-06 13:51:07 +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
karnaze%netscape.com
49e0a9f4cb bug 145305 - split floaters during printing. sr=attinasi, r=alexsavulov.
git-svn-id: svn://10.0.0.236/trunk@122236 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-28 22:50:43 +00:00
dbaron%fas.harvard.edu
98637bcf6e Use text-indent in max-element-size calculation (130116, 91468, 140682). Don't apply text-indent after page break to the same block (45694). b=130116 r=attinasi sr=waterson
git-svn-id: svn://10.0.0.236/trunk@121464 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 12:55:55 +00:00
waterson%netscape.com
5bae3657e6 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
git-svn-id: svn://10.0.0.236/trunk@121265 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 18:22:41 +00:00
smontagu%netscape.com
395a7140b7 Improve performance by making nsWordFrame in nsLineLayout an nsDeque instead of an nsAutoVoidArray. Bug 121967, r=timeless, sr=attinasi, a=asa
git-svn-id: svn://10.0.0.236/trunk@116883 18797224-902f-48f8-a5cc-f745e15eee43
2002-03-19 21:57:45 +00:00
waterson%netscape.com
ea95cf7620 Bug 46918, 3490. Clean up inline margin handling. r=rbs, sr=kin
git-svn-id: svn://10.0.0.236/trunk@113249 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-30 23:28:56 +00:00
jdunn%netscape.com
d63561e2e5 Change certain AIX ifdefs to AIX_XLC_364 since these ifdefs are only
needed for AIX's xlC 3.6.4 compiler.  Add test to configure to check
compiler version.  NOTE: also adding hpux and aix check for keyboardutils.
r=cls@seawood.org
# 119179


git-svn-id: svn://10.0.0.236/trunk@112859 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-25 15:07:38 +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
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
dbaron%fas.harvard.edu
598b649480 Use nsAutoVoidArray for stack-based nsLineLayout to reduce allocations. r=jag sr=waterson b=90727
git-svn-id: svn://10.0.0.236/trunk@99889 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-25 05:20:09 +00:00