122 Commits

Author SHA1 Message Date
buster%netscape.com
cba0baa8a4 just cleaning up a warning, found during fix for bug 52307
git-svn-id: svn://10.0.0.236/trunk@79082 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-14 05:50:56 +00:00
buster%netscape.com
af23e01ba7 checking in fix for unix compiler, stupid nsCOMPtr x-platform incompatibility.
git-svn-id: svn://10.0.0.236/trunk@78772 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-11 21:43:46 +00:00
buster%netscape.com
685185593d bug 14280
nsTextTransformer.cpp.
  I moved where we translate the nbsp to a (ascii 32 space character) until after the i18n routines are called, so they can properly account
  for the space as non-breaking and therefore part of the first word in the block.

bug  39901 and 38396
  nsHTMLImageLoader.*, nsImageFrame.cpp
  I backed out the bad fix for 38396, and put in a new fix where I store a little state in the image loader flags for cases where the image
  gets an unconstrained reflow and has %-based width.  This does not handle %-based min-width or max-width, that would be a separate
  bug that I'll file shortly.  But this fixes the vast majority of real cases out there.

bug  18754
  nsHRFrame.cpp, quirks.css, nsCSSFrameConstructor.cpp, last part of nsLineLayout.cpp
  in quirks mode, I changed HR from a block element to a replaced inline element that acts like a block, using generated content to get
  newlines before and after the HR.  This isn't ideal, but it gets us backwards compatibility, and ian and dbaron have blessed the approach.

bug  50257
  nsLineLayout.cpp
  Did a couple of things in here:
       * The actual fix is controlled by FIX_BUG_50257 #define symbol.  This basically says that an break (BR) will always fit on a line.
         A more general solution would probably be to round up to the nearest pixel, and if the thing is less than a pixel make it fit on a
         line.  This is a wimpier, safer solution.
       * I noticed that the way we got the compatibility mode was way out of date, very wasteful.  So I fixed that.
       * I noticed that there were a bunch of redundant SetFlag calls.  Since the flag variable is initialized to 0, setting a flag to 0 on a newly
         created object is a waste.

  nsBlockFrame.cpp  --  just added a comment to some odd looking code, to make sure no one comes along later and breaks it


git-svn-id: svn://10.0.0.236/trunk@78763 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-11 21:15:02 +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
buster%netscape.com
342b94a380 bug 45152 (Typed text does not render in TextAreas with a horizontal scrollbar)
fixed by adding a flag in nsLineBox for the content of a line to mark it "forceInvalidate",
logic in nsLineLayout to set the line dirty for initial reflow of text frames,
and logic in block to check the new flag.
r=kin


git-svn-id: svn://10.0.0.236/trunk@77051 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-24 04:26:43 +00:00
waterson%netscape.com
c607d4bc40 Bug 46693. Check to see if we CanContinueTextRun() while walking over the frames to FindNextText(). This revives the logic that I nuked when fixing 19051, and keeps you from trying to walk over <br> or other frames to erroneously continue a text run. r=akkana.
git-svn-id: svn://10.0.0.236/trunk@75085 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-28 22:29:28 +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
a4b76eec47 Bug 19051. Checked in wrong patch for nsLineLayout.cpp; we want to check the display type, not the frame type, to determine if it's a block frame.
git-svn-id: svn://10.0.0.236/trunk@74888 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-27 05:20:09 +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
buster%netscape.com
e8833a517e fixed nsbeta2+ bugs 42138 35772 37657 38157 40283 35964
r=waterson, rods


git-svn-id: svn://10.0.0.236/trunk@72241 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:15:59 +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
buster%netscape.com
57e870943a just removed a warning
git-svn-id: svn://10.0.0.236/trunk@68806 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-09 05:08:27 +00:00
buster%netscape.com
f0a9a8c250 I suck. More debugging code that should have been removed.
git-svn-id: svn://10.0.0.236/trunk@66205 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-17 15:54:55 +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
buster%netscape.com
bf63049426 bug 29595 (and others)
fixes layout of pages where a single line is impacted by 2 or more floaters
r=troy


git-svn-id: svn://10.0.0.236/trunk@63783 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-22 23:19:10 +00:00
karnaze%netscape.com
ef33586f26 bug 28071 - added Use DTD compatibility mode to viewer. layout uses single mechanism for determining compatibility mode. r=rods.
git-svn-id: svn://10.0.0.236/trunk@63493 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-20 23:39:22 +00:00
dbaron%fas.harvard.edu
d017095281 1) Make PRE line layout backwards compatible in quirks mode (related to bug 26998).
2) Don't use strings when I can use atoms.
3) Fix bug 28472 by correcting error in earlier checkin.
r=buster@netscape.com


git-svn-id: svn://10.0.0.236/trunk@63109 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-16 01:14:57 +00:00
dbaron%fas.harvard.edu
36eb971c4b Refix bug 5821, which I broke with a mistake in my earlier change. r=buster@netscape.com a=rickg@netscape.com
git-svn-id: svn://10.0.0.236/trunk@61355 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-19 03:42:30 +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
pp%ludusdesign.com
a2927ce43e Converting ::GetIID() into NS_GET_IID(). Bug #20232. r=scc, r=mozbot
git-svn-id: svn://10.0.0.236/trunk@59537 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-02 22:24:56 +00:00
buster%netscape.com
d64562d6fd fixing linux bustage. got caught by a platform difference in handling
of nsCOMPtr and the equality operator


git-svn-id: svn://10.0.0.236/trunk@59509 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-02 08:28:37 +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
1c1bc9d99d b=25245 Fixed ApplyLeftMargin() to not subtract for margins if it is an
unconstrained reflow


git-svn-id: svn://10.0.0.236/trunk@59231 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-30 18:29:52 +00:00
nisheeth%netscape.com
59dbaae9fb r=troy. Reflow commands are now coalesced by block and inline frames. This fixes bug 985 in which we now generate 6 reflow commands instead of 257.
git-svn-id: svn://10.0.0.236/trunk@57522 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-12 08:28:24 +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
kin%netscape.com
9b0d9085aa Fix for bug #18622 (UMR in nsLineLayout::CanPlaceFrame)
nsLineLayout::ReflowFrame() now sets some of the psd flags before
calling aFrame->Reflow().
r=troy@netscape.com,norris@netscape.com  a=chofmann@netscape.com


git-svn-id: svn://10.0.0.236/trunk@55853 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-10 18:41:43 +00:00
troy%netscape.com
52084caad8 Change to how overflow is handled for absolutely positioned elements.
We no longer use nsIAraeFrame and now it's folded into the overflow
area in the reflow metrics


git-svn-id: svn://10.0.0.236/trunk@55424 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-06 15:49:53 +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
troy%netscape.com
3f61543a91 WillReflow/DidReflow changes and changes to the way view positioning
and sizing works


git-svn-id: svn://10.0.0.236/trunk@53998 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:33:29 +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
7ae532db2a r=troy; fixed bug 14982 - the problem was that empty continuations of an inline non-replaced element (e.g. 'span') were impact line-height calculations when they should effectively disappear
git-svn-id: svn://10.0.0.236/trunk@52430 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-01 22:38:17 +00:00
troy%netscape.com
3513334988 Moved a bunch of stuff out to a nsIFrameDebug interface
git-svn-id: svn://10.0.0.236/trunk@52427 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-01 22:12:45 +00:00
troy%netscape.com
88c4d96e2c Folded reflow functions into nsIFrame and eliminated nsIFrameReflow and
nsIHTMLReflow. This saves 4 bytes per frame and cleans things up


git-svn-id: svn://10.0.0.236/trunk@52309 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-30 02:52:11 +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
troy%netscape.com
bd46e7911f Changed SetView/GetView to take an additional argument which is the
pres context


git-svn-id: svn://10.0.0.236/trunk@51822 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-26 04:44:41 +00:00
kipp%netscape.com
dfe78df5d9 Turned off some more debug noise
git-svn-id: svn://10.0.0.236/trunk@51775 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-25 23:05:15 +00:00
kipp%netscape.com
6b290bc673 r=troy; bug: 15153; fixed problem with style-change reflows not being propogated properly
git-svn-id: svn://10.0.0.236/trunk@51398 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-21 20:44:58 +00:00
kipp%netscape.com
63bce01588 Fixed edge case where line bounds wasn't quite accurate which causes the combined rect to not match which now wastes memory; only affects right aligned lines
git-svn-id: svn://10.0.0.236/trunk@50705 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-14 23:10:59 +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
e18af2d0ee Cleanup moz-decl-counter usage and fix NS_LOG_ADDREF usage
git-svn-id: svn://10.0.0.236/trunk@50239 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-08 20:41:19 +00:00
kipp%netscape.com
02327da0cf Refixed bug #10496 - a=choffman, r=troy
git-svn-id: svn://10.0.0.236/trunk@48982 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-24 17:23:33 +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
287e799395 Fixed a glitch in the debug noise
git-svn-id: svn://10.0.0.236/trunk@48053 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-17 23:15:31 +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
3855e4c7a8 Save some memory by not saving away useless text runs
git-svn-id: svn://10.0.0.236/trunk@45694 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-02 18:01:59 +00:00
kipp%netscape.com
c9002f20df Reimplemented SizeOf methods in some of the frame classes; partial rework of first-line handling snapshot
git-svn-id: svn://10.0.0.236/trunk@45274 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-31 03:09:40 +00:00
kipp%netscape.com
11867185b8 Fixed computation of max-element-size for bug #12384; don't compute line-height in this class
git-svn-id: svn://10.0.0.236/trunk@44928 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-27 21:50:06 +00:00
troy%netscape.com
8d07a8a962 Added 'm' prefix to a couple more data members of nsHTMLReflowState struct
git-svn-id: svn://10.0.0.236/trunk@40217 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-20 03:51:46 +00:00