150 Commits

Author SHA1 Message Date
roc+%cs.cmu.edu
5d13b4f0c5 View manage interface cleanup. Bug 73382. r=kmcclusk, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@108796 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-22 05:26:32 +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
attinasi%netscape.com
91f86ff305 Fixed image wrapping in tables problems. b=101674 sr=hyatt r=waterson
git-svn-id: svn://10.0.0.236/trunk@104133 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 21:42:03 +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
rbs%maths.uq.edu.au
346ef380a5 bug 99010 - font changes. r=attinasi@netscape.com, sr=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@103967 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-27 18:34:30 +00:00
attinasi%netscape.com
0259fc9d5a Don't allow consecutive images to wrap in table cells with percentage width. r=kmcclusk sr=waterson b=100568
git-svn-id: svn://10.0.0.236/trunk@103706 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-25 06:31:46 +00:00
attinasi%netscape.com
602857076b Fixing erroneous addition to previously reviewed and approved patch: b=97619 r=bernd sr=waterson
git-svn-id: svn://10.0.0.236/trunk@103028 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 23:14:43 +00:00
attinasi%netscape.com
82570cc02b Fix for image wrapping problems in table cells. b=97619 r=bernd sr=waterson
git-svn-id: svn://10.0.0.236/trunk@102594 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-08 19:26:34 +00:00
attinasi%netscape.com
69aebe1a55 Inline images no longer break text runs. b=32191 r=bernd,dbaron sr=waterson a=asa(obod)
git-svn-id: svn://10.0.0.236/trunk@101986 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-29 22:59:09 +00:00
waterson%netscape.com
c1784537a1 Bug 87543. Don't try to do arithmetic when psd->mRightEdge == NS_UNCONSTRAINEDSIZE. r=rbs, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@98632 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-04 06:07:14 +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
hyatt%netscape.com
b7b1cb3691 Fix for 78695 (rule matching improvements). r/sr=attinasi, jst, waterson
git-svn-id: svn://10.0.0.236/trunk@96136 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-31 22:19:43 +00:00
ftang%netscape.com
4cc3945877 fix bug 80552 r=ftang r/sr=jst
check in for simon@softel.co.il
change BidiEnable to GetBidiEnable


git-svn-id: svn://10.0.0.236/trunk@95132 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-16 13:40:08 +00:00
attinasi%netscape.com
4ba548978e Fixed handling of empty line after a bullet in QuirksMode. b=75963 r=karnaze@netscape.com sr=waterson@netscape.com a=brendan
git-svn-id: svn://10.0.0.236/trunk@92758 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 21:54:35 +00:00
erik%netscape.com
cc2bea75ae bug 74946; author=simon@softel.co.il; r=erik; sr=attinasi; diffs from IBM
bidi project (e.g. Arabic, Hebrew)


git-svn-id: svn://10.0.0.236/trunk@92027 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:32:21 +00:00
attinasi%netscape.com
de424adb91 Empty inlines now take up space in the line, fixing problem where the backtround images for those elements were not showing up even if they had sufficient padding. b=21415 r=karnaze, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@90759 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-29 06:39:40 +00:00
pierre%netscape.com
8944a57fe0 Reinstate my changes that were backed out 10 days ago. #43457 split nsStyleSpacing into 4 smaller structures: nsStyleBorder, nsStylePadding, nsStyleMargin, nsStyleOutline. r=attinasi,sr=buster.
git-svn-id: svn://10.0.0.236/trunk@86533 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-07 09:57:26 +00:00
dbaron%fas.harvard.edu
5f0a7ab9bd Remove trailing semicolons after all uses of MOZ_DECL_CTOR_COUNTER to quiet build warnings on Mac. b=60415 a=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@85654 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-27 23:06:33 +00:00
dbaron%fas.harvard.edu
e5c4c2ccdc Backing out pierre's change from 1/20 for performance reasons (66263). r=attinasi, a=granrose, phil
git-svn-id: svn://10.0.0.236/trunk@85464 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-25 03:23:19 +00:00
pierre%netscape.com
148e913722 #43457 split nsStyleSpacing into 4 smaller structures: nsStyleBorder, nsStylePadding, nsStyleMargin, nsStyleOutline. Review=attinasi. Pending Approval: buster.
git-svn-id: svn://10.0.0.236/trunk@85210 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-20 22:46:54 +00:00
buster%netscape.com
abad145489 bug 54850 crash when plugin has an inline parent
r=av, r=peterl
a=waterson


git-svn-id: svn://10.0.0.236/trunk@81994 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-30 04:11:59 +00:00
warren%netscape.com
a8b9664a8c Bug 47207. Backing out logging/PRINTF changes until we can fix stopwatch.h, introduce double parens, etc.
git-svn-id: svn://10.0.0.236/trunk@81967 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-28 22:17:53 +00:00
warren%netscape.com
c6b67eceeb Bug 47207. Changing printf to PRINTF to use new logging facility. r=valeski,sr=waterson
git-svn-id: svn://10.0.0.236/trunk@81885 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-27 22:43:51 +00:00
waterson%netscape.com
6a911b0abb Bug 56115. Be sure to determine if CanContinueTextRun() while walking *down* as well as across. r=buster, a=sfraser
git-svn-id: svn://10.0.0.236/trunk@81083 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-13 00:44:53 +00:00
waterson%netscape.com
447bf672b1 Bug 54005. Test if frame CanContinueTextRun() before advancing to its sibling. r=karnaze, a=buster
git-svn-id: svn://10.0.0.236/trunk@80749 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-09 22:03:03 +00:00
buster%netscape.com
68cc97ceff bug 54980
bug 50480 (list-item marker of link list overlaps)
r=karnaze
a=waterson


git-svn-id: svn://10.0.0.236/trunk@80310 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-04 04:17:36 +00:00
buster%netscape.com
2e806dc969 bug 50758 (text-align:right for text control doesn't render as you type)
r=sfraser
a=waterson
We now invalidate the line explicitly if text-align:right is set, because
our incremental painting is biased towards frames that grow to L2R.  This
is a heavy-handed workaround, but it ends up doing very little extra invalidation,
and uses an already existing mechanism by just setting an existing flag.


git-svn-id: svn://10.0.0.236/trunk@79722 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-21 06:03:39 +00:00
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