445 Commits

Author SHA1 Message Date
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
ffb8d9cca7 Change my email address from dbaron@fas.harvard.edu to dbaron@dbaron.org. Comment changes only.
git-svn-id: svn://10.0.0.236/trunk@135757 18797224-902f-48f8-a5cc-f745e15eee43
2003-01-01 23:53:20 +00:00
dbaron%fas.harvard.edu
a7efa8275b Replace NS_BLOCK_WRAP_SIZE with making unconstrained-width reflow of frames with NS_BLOCK_SPACE_MGR consider the floats. This means we no longer use the overflow area for layout (other than the overflow property). Handle right floaters in unconstrained width reflow by just treating them as left floaters. b=172896 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@135476 18797224-902f-48f8-a5cc-f745e15eee43
2002-12-19 00:12:08 +00:00
karnaze%netscape.com
15faa7640c bug 127286 (part II due to cvs problems) - Handle splitting of floaters when lines impacting them are outside the block containing the floaters. sr=kin, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@134740 18797224-902f-48f8-a5cc-f745e15eee43
2002-12-04 00:58:52 +00:00
karnaze%netscape.com
e1b0af4e1d bug 153785 - Added function to undo splitting floaters when the line they are on gets moved to the next page. Cached the break type of the last floater that gets split in the block reflow state so that the frame afterh the floater's continuation can combine that break type with its own. a=asa, sr=kin, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@125355 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-17 01:48:56 +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
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
waterson%netscape.com
27b2245dbd Bug 135146. Implement NS_FRAME_REFLOW_ROOT to allow reflows for <textarea> and <input type='text'> to be dispatched from the scroll frame within the nsGfxTextControlFrame2. r=kin, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@118697 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 01:13:41 +00:00
karnaze%netscape.com
d2766aacef bug 128804 - moved optimization of text controls to nsBlockReflowState and initialized it earlier. a=dbaron, sr=attinasi, r=alexsavulov.
git-svn-id: svn://10.0.0.236/trunk@116409 18797224-902f-48f8-a5cc-f745e15eee43
2002-03-12 15:48:52 +00:00
dbaron%fas.harvard.edu
6d6d615a63 Fix floater state recovery to descend into blocks (which might contain floaters). b=106658 r=kin sr=waterson
git-svn-id: svn://10.0.0.236/trunk@108158 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-15 07:28:46 +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
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
dbaron%fas.harvard.edu
d7836d6ff1 Split nsHTMLReflowMetrics into a separate file (nsHTMLReflowMetrics.h rather than nsIFrame.h). b=64023 r,sr in {waterson, attinasi}
git-svn-id: svn://10.0.0.236/trunk@100064 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-01 01:27:50 +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
e26708f220 Bug 59200. Merge floater reflow and placement into FlowAndPlaceFloater() to deal with the fact that a floater may need to be reflowed as its 'pushed' to a new location. For auto-width floaters, ensure that the floater is not flowed at a width less than its max-element-size. Enforce CSS2 section 9.5.1 rule [2] by maintaining mLastFloaterY in the reflow state. r=rbs, sr=attinasi.
git-svn-id: svn://10.0.0.236/trunk@95630 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-21 23:03:46 +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
waterson%netscape.com
b9a6eb96f3 Remove everything bug nsBlockReflowState declaration. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@93520 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-01 03:40:32 +00:00
waterson%netscape.com
6a681a7ce1 Bug 76885. Removed redundant test from nsBlockFrame::ReflowDirtyChild(). sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@93432 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-29 21:58:50 +00:00
waterson%netscape.com
f387f03ec5 Bugs 76721, 76724. Remove vestigial |aDeltaY| argument from RecoverStateFrom() methods. Remove redundant implementation of GetAvailableSpace(). r=dbaron, sr=attinasi.
git-svn-id: svn://10.0.0.236/trunk@93358 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-28 02:34:58 +00:00
hyatt%netscape.com
c51a96b825 Fix for 77002. reviewers=jst,waterson,hixie,shaver,brendan,pavlov
git-svn-id: svn://10.0.0.236/trunk@93083 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-25 19:52:49 +00:00
attinasi%netscape.com
9c95f04cf8 Fixed some bad code that was updating list position incorrectly when going from outside to inside. b=59086, r=karnaze@netscape.com sr=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@91792 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 23:13:31 +00:00
timeless%mac.com
534247895d fix Bug 70989 Clean up lots of "shadows" and other common warnings
r=peterv, jst, ducarroz, edburns. sr=jst, shaver


git-svn-id: svn://10.0.0.236/trunk@89986 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-21 05:32:22 +00:00
attinasi%netscape.com
056dac3c0b b=70731 r=dcone sr=waterson - fixes crasher while printing
git-svn-id: svn://10.0.0.236/trunk@89623 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-14 06:45:41 +00:00
erik%netscape.com
dc9f2947a7 bug 71370; author=simon@softel.co.il; r=attinasi; sr=erik; implement bidi
(bidirectional text) for languages such as Arabic and Hebrew; from IBM bidi
project; not part of build yet (due to #ifdef IBMBIDI)


git-svn-id: svn://10.0.0.236/trunk@89069 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-09 03:29:00 +00:00
rods%netscape.com
8b5d71dc38 Don't paint blocks that shouldn't be painted when printing
Bug 67296 r=kmcclusk sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@88901 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-08 02:46:44 +00:00
waterson%netscape.com
06336b484f Bug 71181. Revert attinasi's changes for bug 70730.
git-svn-id: svn://10.0.0.236/trunk@88831 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-07 20:15:35 +00:00
attinasi%netscape.com
35ec037877 Fix for printing crash when bulleted items have no bullet and we assume they do. Added assertion to help find the cause of the problem, and checks for null to prevent the crash. b=70730 r=dcone sr=waterson
git-svn-id: svn://10.0.0.236/trunk@88722 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-07 00:38:45 +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
waterson%netscape.com
018d737816 Bug 67796. Don't update aMetrics.mMaximumWidth or .maxElementSize in ComputeFinalSize(): the maxElementSize computation was wrong, and it's not clear that the mMaximumWidth is safe to update here either. Patch from rbs@maths.uq.edu.au, r=waterson, sr=karnaze
git-svn-id: svn://10.0.0.236/trunk@86463 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-07 04:05:59 +00:00
rbs%maths.uq.edu.au
c31ecb5605 Fix for shift/jump/overlap in the incremental reflow of tables containing text-inputs and images. Bug 45562 and related dups. sr=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@86313 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-06 04:42:31 +00:00
attinasi%netscape.com
4b332fa4e7 Floated list items are now handled correctly. b=32200, r=buster sr=waterson
git-svn-id: svn://10.0.0.236/trunk@86110 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-02 21:17:01 +00:00
dbaron%fas.harvard.edu
b48ee3a7d2 Checking back in change (rev. 3.410) that was mistakenly backed out (in rev. 3.411):
bug 13553 (Table doesn't render properly)
patch submitted by bernd.mielke@snafu.de
r=waterson
sr=buster


git-svn-id: svn://10.0.0.236/trunk@85665 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-28 17:00:19 +00:00
rods%netscape.com
b23e7af50b This checkin enables mozilla to support the printing of selection, the printing of page ranges, and
the printing of headers and footers.
Printing of selection is implemented by the frames figuring out if they are in the selection and painting
if they or not they they don't paint. This also only allows the printing of the first page of
selections, alothough it is well documented where this is implemeted so it can be removed.
Bugs 63426, 31218, 61075 r=dcone,kmcclusk,erik,buster sr=waterson


git-svn-id: svn://10.0.0.236/trunk@85624 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-27 14:09:34 +00:00
mcafee%netscape.com
644a6ffc68 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@85463 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-25 02:58:12 +00:00
buster%netscape.com
fd97a9afbb bug 13553 (Table doesn't render properly)
patch submitted by bernd.mielke@snafu.de
r=waterson
sr=buster


git-svn-id: svn://10.0.0.236/trunk@85312 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-22 22:10:05 +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
dbaron%fas.harvard.edu
b4de65c19e Clean up easily fixed unnecessary includes and exports of implementation header files in layout. b=63766 r=jst@netscape.com sr=buster@netscape.com
git-svn-id: svn://10.0.0.236/trunk@84233 18797224-902f-48f8-a5cc-f745e15eee43
2000-12-30 19:22:22 +00:00
heikki%netscape.com
a02e205742 Bug 59675, fixing uninitialized variables. r=jst, a=waterson.
git-svn-id: svn://10.0.0.236/trunk@82928 18797224-902f-48f8-a5cc-f745e15eee43
2000-11-27 23:23:28 +00:00
buster%netscape.com
952ca09fa5 My previous check-in had an important line accidentally commented out. This just re-enables that line. This fixes bug 58257
git-svn-id: svn://10.0.0.236/trunk@81996 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-30 04:48:53 +00:00
buster%netscape.com
d61dcff924 accidentally checked this in with a debug flag turned on that wrote a bunch of output to stdout. turned off.
git-svn-id: svn://10.0.0.236/trunk@81993 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-30 04:10:44 +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
buster%netscape.com
c696b64b4d bug 57596 (crash caused by reframing XBL reparented explicit children)
fix by rickg
r=buster
a=waterson


git-svn-id: svn://10.0.0.236/trunk@81867 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-27 14:14:36 +00:00
buster%netscape.com
09d59fd2f9 backed out my/waterson's potential fix for bug 43914
this fixes bug 56102
a=waterson


git-svn-id: svn://10.0.0.236/trunk@81037 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-12 20:30:43 +00:00
buster%netscape.com
59b79617a9 bug 29276 (text inside <label> tags within a table cell breaks out of table cell)
bug 1164 (ALIGN=MIDDLE and ALIGN=ABSMIDDLE values are not being supported)
bug 54119 (percentage (%) image (img) heights do nothing)
r=karnaze, rods, attinasi
a=waterson


git-svn-id: svn://10.0.0.236/trunk@80746 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-09 21:19:36 +00:00
mjudge%netscape.com
81021b1142 fixing 34356. hack to get clickng before table working beta3+
git-svn-id: svn://10.0.0.236/trunk@79312 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-15 07:02:05 +00:00
buster%netscape.com
871bd8d7c0 bug 18445
r=karnaze
This bug fixes the way we treat placement of replaced inline elements when
they have display:block.


git-svn-id: svn://10.0.0.236/trunk@79281 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-15 06:20:07 +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