Commit Graph

82 Commits

Author SHA1 Message Date
bzbarsky@mit.edu
f7da96f8e7 Reorder some members in nsLineLayout to make them pack better. Bug
176749, patch by dann@godzilla.ics.uci.edu (Dan), r=bzbarsky, sr=dbaron
2002-11-06 02:03:43 +00:00
karnaze@netscape.com
d94f7cf2db bug 157915 - Use the parent of the continued frame when calling DeleteChildsNextInFlow. sr=kin, r=alexsavulov 2002-09-24 22:13:20 +00:00
dbaron@fas.harvard.edu
c853b6104c 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 2002-08-14 13:00:16 +00:00
dbaron@fas.harvard.edu
fa400b9cf2 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 2002-08-11 18:00:07 +00:00
dbaron@fas.harvard.edu
b7d00d4b79 Allocate PerFrameData and PerSpanData in pres shell's stack arena. b=154910 r=bzbarsky sr=waterson 2002-08-06 13:51:07 +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
karnaze@netscape.com
7ce5d8ded3 bug 145305 - split floaters during printing. sr=attinasi, r=alexsavulov. 2002-05-28 22:50:43 +00:00
dbaron@fas.harvard.edu
3b1c910c31 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 2002-05-14 12:55:55 +00:00
waterson@netscape.com
a7380946d3 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 2002-05-10 18:22:41 +00:00
smontagu@netscape.com
eed9148bb1 Improve performance by making nsWordFrame in nsLineLayout an nsDeque instead of an nsAutoVoidArray. Bug 121967, r=timeless, sr=attinasi, a=asa 2002-03-19 21:57:45 +00:00
waterson@netscape.com
e3ca97d5a6 Bug 46918, 3490. Clean up inline margin handling. r=rbs, sr=kin 2002-01-30 23:28:56 +00:00
jdunn@netscape.com
ac2e4ab8fc 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
2002-01-25 15:07:38 +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
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
dbaron@fas.harvard.edu
b6e29c0bef Use nsAutoVoidArray for stack-based nsLineLayout to reduce allocations. r=jag sr=waterson b=90727 2001-07-25 05:20:09 +00:00
dbaron@fas.harvard.edu
c156662a18 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 2001-07-04 02:00:05 +00:00
waterson@netscape.com
7b3f285e70 Bug 77414. Break nsBlockReflowState out into its own files. sr=attinasi 2001-05-01 04:22:57 +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
rbs@maths.uq.edu.au
018edcc1cd 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. 2000-07-28 09:18:15 +00:00
waterson@netscape.com
0909469319 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 2000-07-27 05:16:08 +00:00
rbs@maths.uq.edu.au
0d6146ed5d [#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 2000-06-05 08:24:18 +00:00
mkaply@us.ibm.com
70dd7029e7 # 34082
r= troy
OS/2 bring up continues - PR_CALLBACKs for VisualAge
2000-05-02 23:07:11 +00:00
buster@netscape.com
e314a84485 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
2000-04-17 14:40:46 +00:00
dbaron@fas.harvard.edu
c67228932d 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
2000-02-15 04:26:44 +00:00
buster@netscape.com
2ab3dce74b fixed bug 24186 (well, fixed it enough for beta at least. see bug for details)
r=troy
2000-02-02 07:38:23 +00:00
troy@netscape.com
c9c1cfb2dd Reduced stack space by using PRPackedBool instead of PRBool 2000-01-04 02:59:35 +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
tbogard@aol.net
617bb737a6 Changed nsIPresContext& to nsIPresContext*. Changed nsEventStatus& to nsEventStatus*. Now more compatible with XPIDL. a=vidur r=scc 1999-11-24 06:03:41 +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
6f42ace227 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 1999-11-02 15:44:57 +00:00
kipp@netscape.com
e92e1d7069 r=troy; updated api slightly to support fixes to bug 12760, 12958 and some resize-reflow optimization bugs 1999-10-29 14:33:26 +00:00
kipp@netscape.com
07c8dbbeb3 Fixed bugs with combined-area continuing to include trimmed whitespace (wip for 12297); Added support for tracking trim for 16176) 1999-10-12 23:27:32 +00:00
kipp@netscape.com
a39fd07f30 Reimplement TrimTrailingWhiteSpace; fixed another combined area bug (12910) 1999-09-21 00:14:22 +00:00
kipp@netscape.com
a47b4111a9 Reworked to be more css compliant; factored compatability logic out of nsInlineFrame into here 1999-09-09 21:04:37 +00:00
kipp@netscape.com
7af7157d50 Implement fix for bug #5821 as per dbaron's suggestion 1999-09-03 03:47:49 +00:00
kipp@netscape.com
fc0a25df50 Shrink down size of nsLineLayout object 1999-08-27 21:49:12 +00:00
nisheeth@netscape.com
f8eaeb69a0 Adding support in line layout for the CSS "direction" property. 1999-05-08 00:48:39 +00:00
kipp@netscape.com
b135198fa9 Renamed header file 1999-04-20 00:24:32 +00:00
jdunn@netscape.com
8fb28bf1c4 ANSIC requires that structures need 'friend' status to access other structures
IF they are protected (or private).  fix for bug 4642
1999-04-12 20:12:15 +00:00
kipp@netscape.com
4741e5fce1 Switch to a different (more accurate) BR handling hack... 1999-04-03 18:57:30 +00:00
jdunn@netscape.com
3c36b235a9 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
1999-03-31 04:21:53 +00:00
kipp@netscape.com
1f74156988 Select size of builtin arrays by platform (sigh); remove some cruft; added in support for debugging memory leaks and reducing initialization time 1999-03-29 23:46:34 +00:00
kipp@netscape.com
8191f0a6d6 Removed carried-out-top-margin 1999-03-27 01:24:24 +00:00
kipp@netscape.com
1bf344badb Work around some first-letter bugs 1999-03-26 00:41:36 +00:00
kipp@netscape.com
9795a49b96 Made margin carried outs per-line-layout instead of per-frame 1999-03-25 03:49:47 +00:00
jdunn@netscape.com
2550cf756a backing out changes, because the tree was closed - doh 1999-03-24 21:55:53 +00:00
jdunn@netscape.com
eda21e9edb 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
1999-03-24 21:43:34 +00:00
kipp@netscape.com
876ce65dfa De-inlined some methods (temporary) and added CanPlaceFloaterNow 1999-03-24 15:41:17 +00:00
kipp@netscape.com
82e039c0dd Made state that is really per-span state part of PerSpanData to fix some reflow bugs 1999-03-22 20:45:09 +00:00
kipp@netscape.com
c460dbb573 Added state to keep track of lines that are impacted by floaters 1999-03-21 01:14:05 +00:00