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