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
dbaron%fas.harvard.edu
d0e7b1d970
Add some comments to code about issues that we should look at, remove some unused code, rename some unnecessarily-overloaded functions, fix some typos, and make a few minor style changes. b=88735 r=waterson sr=attinasi
...
git-svn-id: svn://10.0.0.236/trunk@98602 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-04 02:00:05 +00:00
waterson%netscape.com
703780058e
Bug 77414. Break nsBlockReflowState out into its own files. sr=attinasi
...
git-svn-id: svn://10.0.0.236/trunk@93523 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-01 04:22:57 +00:00
buster%netscape.com
f407725c66
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.
git-svn-id: svn://10.0.0.236/trunk@78755 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-11 20:46:44 +00:00
rbs%maths.uq.edu.au
fe6ee91829
Enable the code to export the baseline out of the block frame code to support 'vertical-article: baseline' in table-cells. bug 10207. a:waterson@mozilla.org. was r:buster@netscape.com.
...
git-svn-id: svn://10.0.0.236/trunk@75038 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-28 09:18:15 +00:00
waterson%netscape.com
86cf521ec9
Bug 19051. Remove code that computed and maintained nsTextRun. Instead, compute 'next text' when required by crawling the frame tree in nsLineLayout::FindNextText(). r=roc+moz@cs.cmu.edu
...
git-svn-id: svn://10.0.0.236/trunk@74887 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-27 05:16:08 +00:00
rbs%maths.uq.edu.au
918b4d93c1
[#ifdef MOZ_MATHML: not yet part of default build]. Export the baseline out of the block frame code to support 'vertical-align: baseline' in table-cells. bug 10207. r:buster@netscape.com. a:waterson@mozilla.org
...
git-svn-id: svn://10.0.0.236/trunk@71513 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-05 08:24:18 +00:00
mkaply%us.ibm.com
de7be3a9e5
# 34082
...
r= troy
OS/2 bring up continues - PR_CALLBACKs for VisualAge
git-svn-id: svn://10.0.0.236/trunk@67947 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-02 23:07:11 +00:00
buster%netscape.com
2fa9ad90e8
bug 588 (text justification) for Robert O'Callahan <roc+moz@cs.cmu.edu>
...
r=buster
bug 18545 ([FLOAT] Problem Centering <TABLE> with <DIV> tag)
r=troy
bugs 18827, 19579, 22327 24782, 26512, 30124, 31849, 32846 (floater behavior wrong)
The primary change here is to determine if a block is impacted by a floater, and if so
mark the block's lines dirty when appropriate.
r=troy
no bug number. performance work. reduced the size of some reflow data structures by
collapsing multiple fields into a single bit field.
r=troy
git-svn-id: svn://10.0.0.236/trunk@66201 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-17 14:40:46 +00:00
dbaron%fas.harvard.edu
f1cd9a202b
Fix bug 15428 as suggested by VYV03354@nifty.ne.jp . Stop using 0 as the initial values for min and max of inline box contents so that lines that do not (vertically) contain their own baseline are sized correctly. Also, correctly size BR frames using their line-height (for strict-mode only).
...
Fix bugs 24186, 26996, and 26998 by reworking the quirks-mode line-height handling so that inline elements that do not have text as children (or meet a few other conditions that show the author wants real CSS support) will not increase the size of the line, but will be as close to their correct size as possible without enlarging the line. This fix includes emulation of the strange Nav4/IE quirk that a block's line-height is enforced on the first line of LI elements and the last line of LI, DD, and DT elements. Many of the changes are removing an earlier fix for 24186.
r=buster
git-svn-id: svn://10.0.0.236/trunk@60795 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-15 04:26:44 +00:00
buster%netscape.com
faf4d905b4
fixed bug 24186 (well, fixed it enough for beta at least. see bug for details)
...
r=troy
git-svn-id: svn://10.0.0.236/trunk@59508 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-02 07:38:23 +00:00
troy%netscape.com
7daf58d343
Reduced stack space by using PRPackedBool instead of PRBool
...
git-svn-id: svn://10.0.0.236/trunk@56709 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-04 02:59:35 +00:00
troy%netscape.com
a9936ebc11
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
git-svn-id: svn://10.0.0.236/trunk@56652 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-03 04:32:13 +00:00
tbogard%aol.net
ae5a81e394
Changed nsIPresContext& to nsIPresContext*. Changed nsEventStatus& to nsEventStatus*. Now more compatible with XPIDL. a=vidur r=scc
...
git-svn-id: svn://10.0.0.236/trunk@54392 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-24 06:03:41 +00:00
dmose%mozilla.org
92d791b7b0
updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
...
git-svn-id: svn://10.0.0.236/trunk@52908 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:40:37 +00:00
kipp%netscape.com
941b74b495
r=troy; fixed bugs 2636 and 17636 - line layout issues for some more edge cases (nobr's with floaters in them) and handling of nbsp
...
git-svn-id: svn://10.0.0.236/trunk@52548 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 15:44:57 +00:00
kipp%netscape.com
b3ecfed51c
r=troy; updated api slightly to support fixes to bug 12760, 12958 and some resize-reflow optimization bugs
...
git-svn-id: svn://10.0.0.236/trunk@52211 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-29 14:33:26 +00:00
kipp%netscape.com
01e298fd41
Fixed bugs with combined-area continuing to include trimmed whitespace (wip for 12297); Added support for tracking trim for 16176)
...
git-svn-id: svn://10.0.0.236/trunk@50511 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-12 23:27:32 +00:00
kipp%netscape.com
3e190bdd79
Reimplement TrimTrailingWhiteSpace; fixed another combined area bug (12910)
...
git-svn-id: svn://10.0.0.236/trunk@48439 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-21 00:14:22 +00:00
kipp%netscape.com
e7a32b950e
Reworked to be more css compliant; factored compatability logic out of nsInlineFrame into here
...
git-svn-id: svn://10.0.0.236/trunk@46627 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-09 21:04:37 +00:00
kipp%netscape.com
04fe27cc63
Implement fix for bug #5821 as per dbaron's suggestion
...
git-svn-id: svn://10.0.0.236/trunk@45819 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-03 03:47:49 +00:00
kipp%netscape.com
6d797d3be3
Shrink down size of nsLineLayout object
...
git-svn-id: svn://10.0.0.236/trunk@44927 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-27 21:49:12 +00:00
nisheeth%netscape.com
4e92a7e798
Adding support in line layout for the CSS "direction" property.
...
git-svn-id: svn://10.0.0.236/trunk@30798 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-08 00:48:39 +00:00
kipp%netscape.com
f297e61c52
Renamed header file
...
git-svn-id: svn://10.0.0.236/trunk@28177 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-20 00:24:32 +00:00
jdunn%netscape.com
c3d98e9fac
ANSIC requires that structures need 'friend' status to access other structures
...
IF they are protected (or private). fix for bug 4642
git-svn-id: svn://10.0.0.236/trunk@27180 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-12 20:12:15 +00:00
kipp%netscape.com
d860e51d47
Switch to a different (more accurate) BR handling hack...
...
git-svn-id: svn://10.0.0.236/trunk@26154 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-03 18:57:30 +00:00
jdunn%netscape.com
4889c05ad8
Fix compiler error on AIX...
...
Can't have 'protected' structures, so for AIX make them public and then
make sure that the AIX is defined in the Makefile.in
git-svn-id: svn://10.0.0.236/trunk@25659 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-31 04:21:53 +00:00
kipp%netscape.com
f1443307e8
Select size of builtin arrays by platform (sigh); remove some cruft; added in support for debugging memory leaks and reducing initialization time
...
git-svn-id: svn://10.0.0.236/trunk@25496 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-29 23:46:34 +00:00
kipp%netscape.com
aeeeb5bb86
Removed carried-out-top-margin
...
git-svn-id: svn://10.0.0.236/trunk@25296 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-27 01:24:24 +00:00
kipp%netscape.com
a0bf1cc46e
Work around some first-letter bugs
...
git-svn-id: svn://10.0.0.236/trunk@25157 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-26 00:41:36 +00:00
kipp%netscape.com
165d9cd484
Made margin carried outs per-line-layout instead of per-frame
...
git-svn-id: svn://10.0.0.236/trunk@25052 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-25 03:49:47 +00:00
jdunn%netscape.com
1bc2cebda2
backing out changes, because the tree was closed - doh
...
git-svn-id: svn://10.0.0.236/trunk@25005 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 21:55:53 +00:00
jdunn%netscape.com
2b292106b9
Fixed compiler error on AIX. The xlC compiler does not handle protected
...
structures correctly so for AIX, we make the structures public.
approved by kipp@netscape.com
git-svn-id: svn://10.0.0.236/trunk@25003 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 21:43:34 +00:00
kipp%netscape.com
550af82f5b
De-inlined some methods (temporary) and added CanPlaceFloaterNow
...
git-svn-id: svn://10.0.0.236/trunk@24990 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-24 15:41:17 +00:00