Граф коммитов

429 Коммитов

Автор SHA1 Сообщение Дата
dbaron%dbaron.org 78e96ecd3e Base factor line-height values on the same concept of font size as em-based line-height values. b=196270 r+sr=bzbarsky 2005-08-29 19:30:06 +00:00
dbaron%dbaron.org f81582d101 Remove check for GECKO_USE_COMPUTED_HEIGHT environment variable. b=196270 r+sr=roc a=bsmedberg 2005-08-02 20:15:27 +00:00
bzbarsky%mit.edu 4147eb4a44 Make sure to not return a negative containing block height when computing a
quirks percentage height containing block.  Bug 303005, r+sr=dbaron,
a=bsmedberg
2005-08-02 20:09:49 +00:00
bzbarsky%mit.edu 83d892d31c Use the padding-edge as the absolute containing block when the containing block
is established by a relatively positioned inline.  CSS2.1 is being changed
accordingly.  Bug 300816, r+sr=dbaron, a=asa
2005-07-25 20:15:31 +00:00
roc+%cs.cmu.edu 5c782ff977 Bug 293504. Make MEW/max-width calculations in scrollframes consistent with regular reflow about how we handle the scrollbar width. r+sr=dbaron,a=chofmann 2005-06-29 04:17:21 +00:00
dbaron%dbaron.org c2d568292d Implement the same block-alignment behavior for align=left (which matters only for RTL) that we do for center and right. b=64510 r+sr=roc a=asa 2005-06-15 23:45:06 +00:00
roc+%cs.cmu.edu dbd86b0e76 Bug 292370. Adjust instrinsic widths in nsHTMLScrollFrame to account for 'width','min-width' and 'max-width' style settings. r+sr=dbaron,a=mkaply 2005-05-03 21:15:55 +00:00
roc+%cs.cmu.edu 5f48a42298 Forgot to check in these other files too 2005-05-02 23:01:41 +00:00
roc+%cs.cmu.edu 071342b269 Checked in wrong patch. Backing out. 2005-05-02 04:48:59 +00:00
roc+%cs.cmu.edu 66bb6ff7a6 Bug 47710. Fix padding inside scrollframes. r+sr=dbaron,a=chofmann 2005-05-02 04:26:38 +00:00
bzbarsky%mit.edu 0597971698 Fix border width inheritance by keeping track of both the border width we'd
have if our style were not none/hidden and the actual computed border width.
Bug 290377, r+sr=dbaron, a=asa
2005-04-29 15:44:38 +00:00
roc+%cs.cmu.edu af00f217f9 Bug 240276. Make nsHTMLScrollFrame be a regular HTML frame, not a box frame, so we don't have to go through box layout. It gets its own reflow implementation that handles min-max and lots of other good stuff. rs+sr=dbaron,a=asa 2005-04-28 21:57:22 +00:00
roc+%cs.cmu.edu e8268c75e4 Bug 277420. Use ConstructBlock when creating scrolled and absolutely positioned blocks. Removes copied code and makes columns work in such situations. r+sr=bzbarsky 2005-02-08 02:15:26 +00:00
bzbarsky%mit.edu 1774e783b3 Fix percentage heights on auto-width floats. Bug 216303, r+sr=dbaron 2005-01-24 23:38:11 +00:00
mats.palmgren%bredband.net f216f70b0a Consider min/max-width/height and box-sizing when calculating abs.pos. auto margins. b=182748 r+sr=dbaron 2005-01-24 23:24:05 +00:00
dbaron%dbaron.org 055c5e33e4 Add comment. 2005-01-18 23:32:48 +00:00
bzbarsky%mit.edu 39ac155fd9 Restore placeholder-based positioning of fixed-pos frames to the way it used to
work.  Bug 268111, r+sr=dbaron
2005-01-15 19:29:14 +00:00
mats.palmgren%bredband.net 116d66e879 Implement CSS2.1 10.3.7, shrink-to-fit for abs.pos. elements. b=201897 r=bzbarsky sr=dbaron 2004-11-26 23:28:09 +00:00
roc+%cs.cmu.edu fcfeb6506e Bug 209694. Major rework of margin-collapsing and clearance to match CSS 2.1 rules. Also includes major incremental reflow fixes for those situations. See the bug for details. rubber-stamp r+sr=dbaron 2004-11-25 14:51:00 +00:00
bzbarsky%mit.edu b35b2a6d92 Add a utility method for finding the containing block to nsHTMLReflowState, and
make use of it in fixing the text-decoration drawing on blocks to deal with
negative text-indent.  Bug 263374, r+sr=dbaron
2004-11-25 02:43:28 +00:00
roc+%cs.cmu.edu 9d0a9b302b Changing IsFrameEmpty to IsSelfEmpty as dbaron requested and I forgot to do before checking in. 2004-11-15 05:01:11 +00:00
roc+%cs.cmu.edu 8c7ac60ba1 Bug 261064. Compute static absolute positions more accurately. Also, ensure that static absolutely positioned frames are moved when their placeholders move. Also, ensure that absolutely positioned frames positioned relative to the left or bottom edge of their container move when the container size changes. r+sr=dbaron (rubberstamp) 2004-11-14 20:22:58 +00:00
bzbarsky%mit.edu 683944da62 Create an api for easily converting between the coordinate systems of two
frames or two views.  Use this to fix the auto-positioning of abs pos boxes to
work no matter how their containing block and the block their placeholder lives
in are related, and convert various other callers to the new API.  Bug 266968,
r+sr=roc
2004-11-03 16:16:57 +00:00
roc+%cs.cmu.edu b24a28d3fb Bug 251162. Landing experimental implementation of CSS3 columns. r+sr=dbaron 2004-10-08 12:17:10 +00:00
roc+%cs.cmu.edu 6146e49d29 Bug 259032. DeCOMtaminate nsIFrame::GetNext/PrevInFlow. r+sr=roc, patch by Will Levine 2004-09-14 02:28:03 +00:00
bryner%brianryner.com cc807b07b1 Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc 2004-07-31 23:15:21 +00:00
bryner%brianryner.com 88f80381e3 Consolidate PresContext classes into a single nsIPresContext implementation, and finish deCOMtaminating it. Bug 253470, r+sr=roc. 2004-07-29 19:41:39 +00:00
bzbarsky%mit.edu 20502984b4 Use the direction of the abs pos box, not its containing block, when deciding
which offset to use the static position for.  Bug 247287, r+sr=dbaron
2004-07-15 06:10:53 +00:00
bryner%brianryner.com 4451888110 Get rid of nsILanguageAtom and deCOMtaminate nsILanguageAtomService (bug 230603). Also, fix a bunch of atom double-addref leaks in nsFontMetricsXlib. r+sr=dbaron. 2004-06-08 23:53:59 +00:00
jst%mozilla.jstenback.com ca74706604 Fixing bug 240543. Hiding some nsIPref* API bloatyness in nsContentUtils. r=caillon@aillon.org, sr=peterv@propagandism.org 2004-04-29 23:34:19 +00:00
bzbarsky%mit.edu 74c687f2ca Change mCBReflowState to mean the containing block of _this_ reflow state
instead of the containing block of kids.  Fix the containing block calculations
for various cases of absolutely positioned descendants of relatively positioned
inlines (eg make "right" and "bottom" work in those situations).  Bug 135082,
r+sr=dbaron
2004-04-24 17:56:23 +00:00
bzbarsky%mit.edu 3d8d255e66 Don't allow negative line-heights to make it past the CSS parser. Bug 240900,
r+sr=dbaron
2004-04-18 20:10:09 +00:00
gerv%gerv.net 85ce8c146b Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-18 14:30:37 +00:00
bryner%brianryner.com 62c142565c More nsIPresContext deCOMtamination (bug 229371). r+sr=roc. 2004-04-13 00:28:44 +00:00
dbaron%dbaron.org f92415768a DeCOMify nsIFrame::IsPercentageBase and rename to IsContainingBlock. b=237169 r+sr=bzbarsky a=brendan 2004-03-12 04:40:17 +00:00
bryner%brianryner.com 41c3b9355c Inline boolean getters and setters on nsIPresContext, and change the storage to a bitfield. Bug 229371, r+sr=roc. 2004-02-20 17:49:01 +00:00
dbaron%dbaron.org 88943112b5 Change the way we handle auto margins on blocks with outer width (excluding auto margins) wider than their containing block. Use rules equivalent to overconstraint handling (margins non-auto) so that we depend on 'direction' rather than on which margins are 'auto'. b=185411 r=roc sr=bzbarsky 2004-02-04 05:18:37 +00:00
bzbarsky%mit.edu dd6f7b54ab Remove code that munges block widths inside table cells. Bug 232754,
r+sr=dbaron
2004-02-03 16:49:38 +00:00
dbaron%dbaron.org b1081d3fc5 Remove unneeded casts and extra shadowing variable. 2004-01-18 07:13:40 +00:00
dbaron%dbaron.org 38f954b2d2 Fix elements with max-width overlapping floats due to initial incorrect position by reflow state. b=52916 Patch by Chris Waterson. r=dbaron sr=bzbarsky 2004-01-18 06:06:13 +00:00
roc+%cs.cmu.edu 4ce233447a Bug 225820. Fold nsFrameInnerFrame into nsFrameOuterFrame, rename to nsSubDocumentFrame, and generally clean up this mess. r+sr=dbaron 2004-01-10 05:36:32 +00:00
bzbarsky%mit.edu ae77eda410 Make sure to not compute negative widths for blocks. Bug 230249, r+sr=dbaron 2004-01-08 03:38:25 +00:00
bzbarsky%mit.edu 51ae8865ab Make AdjustComputedWidth/Height take a boolean that tells it whether to account
for box-sizing; sometimes we don't want to.  Also fix parsing of
max-width/height and min-width/height to error on negative values (per spec).
Bug 227819, r+sr=dbaron
2004-01-05 23:59:25 +00:00
bzbarsky%mit.edu b6e15b0ec7 Calculate the relative offsets after we've done whatever corrections we need to
do to the CB height (eg in quirks mode).  Bug 226954, r+sr=dbaron
2004-01-05 23:48:57 +00:00
bryner%brianryner.com 5aeafaa8a6 deCOMtaminate nsIPresContext::GetCompatibilityMode / SetCompatibilityMode (bug 229081). r+sr=bzbarsky. 2003-12-24 21:51:50 +00:00
bryner%brianryner.com 7264501b7b Change all callers of nsIPresContext::GetShell() to use the non-refcounting versions. Most callers now use PresShell(), a few that were checking for null conditions are using GetPresShell() -- this will be remedied once we can ensure that a prescontext never has a null pres shell. Bug 227690, r+sr=bzbarsky. 2003-12-21 05:36:36 +00:00
dbaron%dbaron.org cd013628a9 Do inheritance without layout-dependent computations, per CSS2.1. Remove eStyleUnit_Inherit and nsStyleCoord::SetInheritValue. b=205790 r+sr=bzbarsky a=asa 2003-11-24 19:46:25 +00:00
jst%mozilla.jstenback.com 6380d7fd12 Fixing bug 225837. DeCOMtaminating nsIContent more, making GetTag() return a weak raw pointer, and renaming GetTag() to Tag(), and making GetRangeList() return an const nsVoidArray*, and changing GetContentID() to return the id, and renaming it to ContentID(). r=jonas@sicking.cc, sr=bryner@brianryner.com. 2003-11-19 01:20:56 +00:00
dbaron%dbaron.org 29a96e0c92 Turn DetermineFrameType into InitFrameType. b=225911 r+sr=bzbarsky 2003-11-17 00:35:17 +00:00
dbaron%dbaron.org c3c15dce0c Clean up nsIFrame::IsEmpty signature and move towards making 'white-space' work on inlines. b=191699 r+sr=roc 2003-11-10 23:36:06 +00:00
uid502 50383ff50a Bug 190735. DeCOMtaminate nsIFrame::GetFrameType. r+sr=bzbarsky 2003-10-31 20:19:18 +00:00
bzbarsky%mit.edu 1c3e6f3548 Fix regression bug 223394 -- percent-height replaced inlines that only have
auto-height ancestors should get intrinsic height instead of 0, even in quirks
mode.  r+sr=roc, a=asa
2003-10-24 07:31:50 +00:00
bzbarsky%mit.edu e21a5aa43b Fix crash bug 223064. Patch by mats.palmgren@bredband.net (Mats Palmgren), r+sr=bzbarsky 2003-10-22 07:01:35 +00:00
bzbarsky%mit.edu 89dafd0d19 Remove limiting of the quirk containing block search to only one level. Bug
222730, also fixes bug 88035, r+sr=dbaron
2003-10-18 20:22:22 +00:00
bzbarsky%mit.edu f9544503f0 Line up the hypothetical box for positioned frames with the _top_ of the line
box if there is nothing in the line before the positioned frame's placeholder.
When that happens, it means that the positioned frame's content actually came
before whatever content lives in the line box and thus the frame should not be
lined up with the line box's bottom.  Bug 94468, r+sr=roc
2003-10-18 08:04:37 +00:00
bzbarsky%mit.edu ee8a913c40 Undoing last change now that I have perf data. 2003-10-18 07:13:30 +00:00
bzbarsky%mit.edu 3e20badab0 Test performance impact of not limiting to the first level now that bug 222730
is fixed.  r=dbaron
2003-10-18 06:08:39 +00:00
bzbarsky%mit.edu 94ca0412f9 Only calc a quirk containing block if we have a percentage height. Bug 222730,
r+sr=dbaron
2003-10-18 05:09:42 +00:00
bzbarsky%mit.edu b1b043babc Stop walking up the tree looking for something to size against if we hit a
positioned frame.  Bug 221784, r+sr=roc
2003-10-18 00:24:28 +00:00
uid502 b83221b617 Bug 165149. More cleanup. Make nsStyleContext::GetPseudoType return a weak pointer. Also remove unnecessary arguments to nsHTMLContainerFrame::CreateViewForFrame. r+sr=bzbarsky 2003-10-17 02:38:37 +00:00
bzbarsky%mit.edu d6608ce74f Relanding fix for bug Bug 219693, r+sr=dbaron 2003-10-06 13:13:37 +00:00
bzbarsky%mit.edu 7f3c544b60 Backing out for now, till fallout from tree redness settles. 2003-10-06 04:23:56 +00:00
bzbarsky%mit.edu 5d74946668 Make quirks %-heights on kids of scrolling parents work the same way as for
non-scrolling parents.  Bug 219693, r+sr=dbaron
2003-10-06 02:58:19 +00:00
jst%mozilla.jstenback.com 8aa7b563d2 Fixing bug 215981. DeCOMtaminating nsIContent and nsIDocument some, and also some minor changes to other related interfaces. r=caillon@aillon.org, sr=peterv@propagandism.org. 2003-09-27 04:18:26 +00:00
timeless%mozdev.org 2d778c8fa3 Bug 219908 Remove some layout warnings
r=bz sr=dbaron
2003-09-22 21:40:12 +00:00
dbaron%dbaron.org fc0873c197 Let ComputeHorizontalValue handle unconstrained width, since unconstrained width only means the vertical margin is unknown in some cases. Patch by Mats Palmgren <mats.palmgren@bredband.net>. r+sr=dbaron a=asa b=209066 2003-09-06 04:01:33 +00:00
bzbarsky%mit.edu 1c89273d3a DeCOMify GetParent/GetBindingParent/GetDocument on nsIContent. Bug 213823,
r+sr=jst
2003-07-28 21:25:13 +00:00
roc+%cs.cmu.edu 55a49cd4d6 Ongoing deCOMtamination. r+sr=dbaron 2003-06-29 03:43:05 +00:00
caillon%returnzero.com ba75de772b Bug 209087
Content interface out-parameters should use ptr-to-ptrs instead of ref-to-ptrs and some small deCOMtamination.
r+sr=jst@netscape.com
2003-06-13 20:10:01 +00:00
dbaron%dbaron.org a15b9f2cf4 Clean up API (and its callers) for getting style data: remove unneeded null checks and switch to new inline member functions (one for each struct) that return values. b=197205 r+sr=roc a=brendan 2003-05-15 03:42:21 +00:00
seawood%netscape.com de59dbee4b Purge XP_PC.
Bug #56767 r=mkaply sr=alecf
2003-04-02 22:45:08 +00:00
bryner%netscape.com cc390fbe51 Remove nsIStyleContext (bug 114713), r/sr=dbaron. Changed lots of methods to use nsStyleContext* or already_AddRefed<nsStyleContext> as return values, depending on whether a reference is returned. Turn on nsRefPtr (bug 104346), and change nsDerivedSafe to not declare AddRef and Release explicitly virtual, r=jag, sr=dbaron. 2003-02-22 00:32:13 +00:00
jst%netscape.com 1cdbcb7f2e Removing a redeclaration of a variable that sould've been removed with the last change to this file. Bug 181644, r=bzbarsky@mit.edu, sr=dbaron@dbaron.org, a=dbaron@dbaron.org 2003-02-06 23:10:20 +00:00
bzbarsky%mit.edu 8c701f13d6 Fix abs pos positioning regression. Bug 181644 redux, patch by
Rick.Ju@sun.com, r=bzbarsky, sr=dbaron, a=asa
2003-01-29 11:35:10 +00:00
bernd.mielke%snafu.de 2f5fe7e4eb set the quirk height default to NS_AUTOHEIGHT if we are in a unconstrained container bug 189840 r/sr=roc+moz a=asa 2003-01-28 05:19:20 +00:00
karnaze%netscape.com 1b95a6b4b5 bug 175455 - Added mTableDerivedComputedWidth to the reflow state to detect computed widths which exist only because of table cells. Limit percent width of descendants whose percentage base has such a computed width. sr=roc, r=bernd 2003-01-19 20:07:39 +00:00
jerry.tan%sun.com 7424ea54cc bug 181644, patch by rick.ju@sun.com, r=bz, sr=roc+moz 2002-12-23 06:01:14 +00:00
caillon%returnzero.com 7ca2c28686 Backing out these changes since they appear to have caused a Txul regression on some tinderboxes (not all... weird...) 2002-12-11 05:11:02 +00:00
caillon%returnzero.com 28a20c3eb6 Bug 181975 - Convert layout to use nsIPrefService, nsIPrefBranch, and friends.
r/sr=roc+moz
2002-12-10 23:41:12 +00:00
karnaze%netscape.com f7277122ea bug 169620 - don't pass in negative avail widths, don't add/subtract from NS_UNCONSTRAINEDSIZE, make HR's desired width at least as big as its me width. sr=kin, r=dbaron 2002-09-24 21:02:20 +00:00
shanjian%netscape.com ddbc15fc76 #130091 should we get rid of "NEW_FONT_HEIGHT_APIS"
r=Roland.Mainz@informatik.med.uni-giessen.de, sr=rbs
2002-09-18 19:37:31 +00:00
karnaze%netscape.com ff327eddd0 bug 137388 - Jery Tan's patch to restrict applying CalcQuirkContainingBlockHeight to a frame inside a table cell. sr=bzbarsky, r=karnaze. 2002-09-04 04:00:41 +00:00
timeless%mac.com 9a8680079f Bug 161945 clean up simple mac build warnings
r=dbradley sr=bz
2002-09-02 21:26:11 +00:00
bzbarsky%mit.edu 02a790ca16 Fix placement of positioned elements with auto "top". Bug 44508, patch
by Mats Palmgren (mats.palmgren@bredband.net), r=dbaron, sr=bzbarsky.
2002-08-15 23:00:23 +00:00
smontagu%netscape.com 0eb1bec904 Fix regression with form controls on visual bidi pages. Bug 142233, r=jkeiser, sr=kin 2002-07-10 00:52:17 +00:00
jkeiser%netscape.com 413d936208 Rest of patch (partial commit before). Remove nsFormFrame forever. bug 125578, r=alexsavulov@netscape.com, sr=jst@netscape.com 2002-06-04 02:00:34 +00:00
shanjian%netscape.com 7f123711f0 #142562 problem with <td align=right or align=center
We are observing langGroup in some place while ignor it in others. This patch
make all font metrics call consistent. nsIRenderingContext API is change to
make things neat.
r=rbs, sr=waterson
2002-05-24 20:11:14 +00:00
waterson%netscape.com 89a9d8c4cb Fix build bustage. 2002-05-15 22:21:15 +00:00
dbaron%fas.harvard.edu 960c5fb6d2 Give nsHTMLReflowState an explicit copy-constructor and assignment operator to fix up mCBReflowState and fix regressions from previous patch. b=143706 r=bzbarsky sr=waterson 2002-05-15 19:58:20 +00:00
dbaron%fas.harvard.edu c6ec56730f Store containing block reflow state so we don't have to walk up the tree to find it every time. b=143706 r=attinasi sr=waterson 2002-05-14 12:59:55 +00:00
waterson%netscape.com 926ecba1d9 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
tingley%sundell.net 27846967ad Fix regression of bug 89065 to make text-decoration: blink work again.
r=dbaron, sr=attinasi
2002-05-07 23:26:02 +00:00
rbs%maths.uq.edu.au 1452527607 Added yet another defense to make Mozilla really robust when font resources run out, the patch makes font metrics to be fail safe or at least very hard to break -- to the point that failure means that the system is barely working (testing showed that Mozilla stayed alive while other applications were dying). Per request of super-reviewer & driver, also removed wallpaper null-checks sprinkled in the past for the problem. b=136248, r=shanjian, sr=attinasi 2002-05-02 22:24:59 +00:00
waterson%netscape.com bd3e97e714 Bug 138057. Eliminate nsBlockFrame::RememberFloaterDamage, instead recording the damage when we reflow the floater. This allows us to catch several cases that we weren't catching before, so we no longer need to dirty all the line boxes when an incremental reflow targeted at a float arrives. r=dbaron, sr=attinasi. 2002-04-26 19:19:39 +00:00
attinasi%netscape.com b5834292c2 Check for null FontMetrics to prevent crash. r=shanjian sr=kin 2002-04-25 22:00:22 +00:00
shanjian%netscape.com fb58cfeda5 #76097 Need to include external leading for CJK normal Line-height
Font metrics returns both internal and external leading to layout. Layout
now is responsible for calculating the normalLineHeight. It take consideration
of external leading, and compensate if it does not exist. All these are controled
by a preference switch.

r=rbs, sr=attinasi,
2002-04-11 00:00:40 +00:00
karnaze%netscape.com 01900c25dc bug 125543 - Prevent row groups from splitting in the reflow preceeding a special height reflow. Cells are only notified that they should observe a percent height element if the element is inside the table's cell. Percent height elements inside the body will have a height based on the page height when printing. sr=kin, r=alexsavulov. 2002-04-10 21:32:41 +00:00
karnaze%netscape.com 130ae15711 bug 131020 - process special height reflow when initiator is the containing table. a=roc+moz, sr=attinasi, r=bernd. 2002-04-01 06:46:17 +00:00
karnaze%netscape.com 1fcd9538d3 bug 41262 - new table border collapsing code. sr=attinasi, r=alexsavulov. 2002-02-19 15:48:28 +00:00
waterson%netscape.com cf319e2bda Bug 115113. Eliminate nsIReflowCommand, and just use nsHTMLReflowCommand directly. r=karnaze, sr=attinasi. 2001-12-17 22:39:59 +00:00
karnaze%netscape.com de4569576e bug 113424 - mechanism for percent height frames inside table cells to receive special height reflow. sr=attinasi, r=alexsavulov 2001-12-07 14:51:12 +00:00
dbaron%fas.harvard.edu 755bf45686 Switch to using typesafe way of accessing style data. r=hyatt sr=waterson b=111883 2001-11-28 05:06:17 +00:00
karnaze%netscape.com 144bd25690 bug 30692 - Have children of cell block use the computed width of the cell. sr=attinasi, r=alexsavulov 2001-11-06 22:57:17 +00:00
dbaron%fas.harvard.edu 0c5f5cd170 Fix inheritance of percentage values for 'line-height' by removing hacks to base percentage values for 'line-height' on the actual value rather than the computed value of 'font-size'. Fix various |const|-ness issues in nsRuleNode. b=97726 r=pierre sr=hyatt 2001-11-06 07:48:02 +00:00
karnaze%netscape.com 4e510eb28b bug 97138 - rework of table, row group, row, cell height code. sr=attinasi, r=alexsavulov 2001-11-05 00:15:51 +00:00
dbaron%fas.harvard.edu 75d32bb579 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
bernd.mielke%snafu.de 3eb602bb0d bug 104898 the borderpadding should not influence the inner table margin relative to the
outertable frame r=karnaze sr=attinasi
2001-10-24 14:36:33 +00:00
attinasi%netscape.com ecb74a905f Checkin for tingley@sundell.net - Blinking text optional via pref b=19258 r=dbaron sr=attinasi 2001-10-24 04:51:34 +00:00
hyatt%netscape.com 0214ac3fdb Fix for 104336, deCOMtaminate rulenode, rulewalker, frames, r=dbaron, sr=waterson 2001-10-24 00:01:09 +00:00
dbaron%fas.harvard.edu cd77d3b7fb Fix 'text-decoration: blink' and the blink element. Patch from Chase Tingley <tingley@sundell.net>. r=dbaron sr=hyatt b=89065 2001-10-11 00:15:09 +00:00
gerv%gerv.net f385eb981a Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089. 2001-09-28 20:14:13 +00:00
attinasi%netscape.com cbd2695fa2 Fixed performance issue by restricting the cases in which we traverse up the frame tree looking for a containing block with a real computed height. b=85016 r=karnaze sr=waterson 2001-09-11 00:12:28 +00:00
attinasi%netscape.com 9b0d54b50b Tweaked the existing CalcQuirkContainingBlockHeight method to allows for percentage based elements in deeply nested blocks, instead of just elements that are directly in the BODY. b=85016 r=karnaze sr=waterson 2001-09-08 20:09:08 +00:00
waterson%netscape.com 292424d20a Bug 55086. Change nsContainerFrame::PositionFrameView() to position child views. Eliminate the |aView| parameter from that method, because the view can be retrieved from the frame and need not be done by the caller. Eliminate the NS_FRAME_NO_MOVE_CHILD_VIEWS flag, which was read-only; i.e., never set by anyone. r=dbaron, sr=attinasi 2001-09-05 20:27:19 +00:00
bernd.mielke%snafu.de 5bedead67d handle captions and innertable frames identical if the containing block is to small,
bug 76726 r=karnaze sr=waterson
2001-08-21 19:31:53 +00:00
bernd.mielke%snafu.de e8b12cf580 don't substract caption margins twice, bug 91057, r=karnaze sr=waterson 2001-08-09 05:24:14 +00:00
shanjian%netscape.com 80f85383d3 #41461
This checkin correct a minor leftout in previous checkin.
r=rbs@math.uq.edu.au  sr=attinasi
2001-07-24 22:48:54 +00:00
shanjian%netscape.com 2d26de5278 #41461 Japanese is not wrapped in correct position compared with ascii.
r/sr = attinasi
We should use document langGroup to load font and check width. Locale langGroup will not work well.
2001-07-24 21:45:45 +00:00
dbaron%fas.harvard.edu 8a38e949ec Make the width of floats with |width: auto| depend only on the width of the containing block and the contents of the float and not on the available space. Remove the loop calling ReflowFloater at different positions that is no longer needed, and remove the caching of the max element size for that loop that was not being invalidated correctly between reflows. Fix handling of margin, border, and padding for computation of available width for |width: auto| floaters. r=attinasi sr=waterson b= 85876, 82314, 82315, 85216, 85874, 86746 2001-07-19 02:33:43 +00:00
hyatt%netscape.com 2bf7260d28 Fix for 78695 (rule matching improvements). r/sr=attinasi, jst, waterson 2001-05-31 22:19:43 +00:00
ftang%netscape.com a8fe890e24 fix 79653. check in for simon@softel.co.il
r=ftang sr=attanasi
remove unnecessary code in IBMBIDI due to previous check in
2001-05-18 20:33:08 +00:00
attinasi%netscape.com df5c565e88 Commented out assertion that is triggering in table regression tests: problem is covered by bug 71210, this just removes the assertion alert. r=karnaze 2001-03-28 20:06:15 +00:00
erik%netscape.com a7135c5aab 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)
2001-03-09 03:29:00 +00:00
attinasi%netscape.com 043b4729be Commented out assertion while I find out why HR's are triggering it in some cases... 2001-03-08 15:48:48 +00:00
attinasi%netscape.com 460310f8d1 Fixes box-sizing for absolutely positioned elements. b=67690 r=waterson (and buster R.I.P), sr=hyatt 2001-03-06 05:56:19 +00:00
hyatt%netscape.com 5eb460964a Fix for 70704, r=brendan, sr=attinasi 2001-03-03 21:57:56 +00:00
pierre%netscape.com ad19cf4c81 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. 2001-02-07 09:57:26 +00:00
karnaze%netscape.com d370b0fcb2 mispelled #ifdef DEBUG 2001-02-01 02:26:26 +00:00
karnaze%netscape.com e8000aa774 forgot the #ifdef DEBUG around mDebugHook. 2001-01-25 15:57:46 +00:00
karnaze%netscape.com 9927e53497 better table reflow debugging including support for elapsed time. sr=buster. 2001-01-25 15:55:51 +00:00
mcafee%netscape.com 2a02bb78fd Backing out pierre's change from 1/20 for performance reasons (66263). r=attinasi, a=granrose, phil 2001-01-25 02:58:12 +00:00
pierre%netscape.com 531ba68b54 #43457 split nsStyleSpacing into 4 smaller structures: nsStyleBorder, nsStylePadding, nsStyleMargin, nsStyleOutline. Review=attinasi. Pending Approval: buster. 2001-01-20 22:46:54 +00:00
rods%netscape.com c81b2c3b26 removing most all NS_DEFINE_IID and replacing them with NS_GET_IID macros
Bug 61274, r=buster sr=waterson
2001-01-04 20:44:42 +00:00
karnaze%netscape.com 334923b410 bug 43204 - zero out padding for row/col group, ro/col, sr=buster 2000-12-21 23:05:15 +00:00
karnaze%netscape.com d74b6ebc29 bug 50695 - skip form parents when computing a percent basis height in quirks mode. sr=buster, r=pollmann 2000-11-29 22:31:57 +00:00
warren%netscape.com 4189314fdb Bug 47207. Backing out logging/PRINTF changes until we can fix stopwatch.h, introduce double parens, etc. 2000-10-28 22:17:53 +00:00
warren%netscape.com 6e35f97e31 Bug 47207. Changing printf to PRINTF to use new logging facility. r=valeski,sr=waterson 2000-10-27 22:43:51 +00:00
buster%netscape.com d11af5d076 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
2000-10-09 21:19:36 +00:00
karnaze%netscape.com e990b1ac22 bug 49490 - turn off collapsing borders, rules. Fix reflow state to not account for vertical borders or padding on rows. a=buster, r=dcone. 2000-10-05 23:49:25 +00:00
buster%netscape.com 10f733f809 bug 49239
r=hyatt

bug 42372
r=waterson
2000-08-24 04:38:08 +00:00
dbaron%fas.harvard.edu 6b3cbec149 Fix the way HTML's align attribute works for horizontal alignment of blocks. Use the -moz-center and -moz-right even in strict mode, and apply them to blocks in addition to tables. r=attinasi b=37083, 40038 2000-07-27 23:37:44 +00:00
karnaze%netscape.com 1d923b9485 bug 41306 - remove special cell auto percentage base code, r=rods 2000-06-15 14:54:04 +00:00
erik%netscape.com d6cbea9e50 make line-height calculation language-sensitive to avoid overlapping lines 2000-05-17 06:47:56 +00:00
cls%seawood.org f1653d7f42 Fix for BeOS and other platforms that don't use the NEW_FONT_HEIGHT_APIS. 2000-05-17 05:07:26 +00:00
karnaze%netscape.com 29692e862c bug 28811, 29459, 32507 - added flag to reflow state to handle table cells.
changed table min and max width calculations to include percent and proportional cells.
Include border and padding in min table width calc.
2000-05-16 22:55:34 +00:00
pollmann%netscape.com ab34a12283 Bug 23014: Quirks mode percentage height: enable for iframes, enable for native scrollbars, and add safety check for unconstrained height. r=harishd 2000-05-16 22:02:16 +00:00
erik%netscape.com b2cbabf31d bug 27164; need to multiply line-height by font's em square height, not
bounding box height; r=buster
2000-05-15 19:40:42 +00:00
karnaze%netscape.com d2c39b970f bug 37037, 37490, and a table paganation problem when captions are present. 2000-05-04 23:16:42 +00:00
karnaze%netscape.com d508318708 consider captions as blocks to calculate box-sizing. 2000-05-04 14:47:37 +00:00
karnaze%netscape.com 7f7e9ccaa4 bug 30692 - skip inner table cell's block as percentage base and use cell instead. r=troy 2000-05-03 14:36:04 +00:00
karnaze%netscape.com 2c8e4673e4 Fix for Linux bustage, bug 37643. Give outer table reflow state initial computed values of 0 to avoid excessive reflows from boxes. 2000-04-30 22:29:01 +00:00
troy%netscape.com 43a4ee64ed b=36635 Fixed a problem with 'auto' margin calculation not taking into
account border/padding
2000-04-29 00:24:53 +00:00
karnaze%netscape.com 75ea85e43a new reflow/layout code for outer table to handle captions and margins. better % height handling.
row groups and rows don't include external cellspacing in there dimensions. r=troy.
2000-04-28 21:05:31 +00:00
troy%netscape.com f24bd3d849 b=6252 Fixed problem with computing of hypothetical box 2000-04-20 04:44:32 +00:00
troy%netscape.com 17edbe6b41 b=36220 Added check for a frame type of "areaFrame" 2000-04-19 03:27:31 +00:00
troy%netscape.com eef0576e74 b=36095 Fixed problem in GetNearestContainingBlock() 2000-04-18 05:03:42 +00:00
troy%netscape.com ff569f2f21 New rules for absolute positioning 2000-04-16 04:07:02 +00:00
troy%netscape.com 3fc859aba1 b=26184 r=karnaze@netscape.com Changed it so that for a percentage width based
floater if the containing block width is unconstrained we use NS_UNCONSTRAINEDSIZE
for the floater's computed width. We were using 0 and this was causing table column
widths to be incorrect
2000-02-13 17:55:18 +00:00
troy%netscape.com c9708e5a02 b=25245 Changed ComputeContainingBlockRectangle() to set the containing
block width to NS_UNCONSTRAINEDSIZE if it is an unconstrained reflow.
This way percentage based widths are treated properly
2000-01-30 18:40:48 +00:00
nisheeth%netscape.com 409aee6ae9 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. 2000-01-12 08:28:24 +00:00
sspitzer%netscape.com 7d9e8b8dfa fixes to turn bug #22916 into a blank window bug (instead of a crasher)
r=troy
2000-01-11 22:15:20 +00:00
troy%netscape.com 1558ba3b1a 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 a0640b60c4 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 42fc94a6ec updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:40:37 +00:00
troy%netscape.com effb3aefb7 Folded reflow functions into nsIFrame and eliminated nsIFrameReflow and
nsIHTMLReflow. This saves 4 bytes per frame and cleans things up
1999-10-30 02:52:11 +00:00
kipp%netscape.com 4845abe2cb Factored common code into a single method (UseComputedHeight) 1999-10-12 23:25:49 +00:00
troy%netscape.com 2d378f679b Part of the fix for bug #11633. Check the NS_FRAME_OUT_OF_FLOW bit and make
sure the frame was really moved out of the flow
1999-09-28 23:42:35 +00:00
kipp%netscape.com 2130f3ba1b Reworked side margin calculations to fix (finally!) bug 11932; also cleaned up table side margin handling to better match nav's behavior yet move forward with css2 1999-09-21 00:15:16 +00:00
troy%netscape.com 6c9680c089 Added nsHTMLReflowState constructor that allows containing block width
and height to be specified. This is needed for relatively positioned
block elements
1999-09-16 14:33:19 +00:00
kipp%netscape.com ff953161c7 Fixed refcnt crash bug with style-contexts (bad nscomptr usage -- whoops) 1999-09-09 21:54:20 +00:00
kipp%netscape.com e94d89cd09 Reworked nsHTMLReflowState::CalcLineHeight (bug 6865) 1999-09-09 21:03:27 +00:00
kipp%netscape.com d928d5767c Keep trakc of the depth of reflow to allow for limiting stack usage (bug #10310) 1999-08-27 21:48:54 +00:00
troy%netscape.com 7e4e30d0c4 Added failure check for call to nsStyleData::GetBorder() 1999-07-28 04:48:34 +00:00
troy%netscape.com 8efd264b53 Added support for "box-sizing" style property 1999-07-28 03:51:37 +00:00
troy%netscape.com 105a009fb5 Fix for bug #10395. Now we recalculate margins when we use the minimum or
maximum value for the computed width/height. This applies to positioned
elements only
1999-07-27 00:48:47 +00:00
troy%netscape.com 06f806dfd8 Added 'm' prefix to a couple more data members of nsHTMLReflowState struct 1999-07-20 03:51:46 +00:00
troy%netscape.com a6aae963a7 Added 'm' prefix to some of the nsHTMLReflowState data members 1999-07-20 03:41:03 +00:00
troy%netscape.com 4435ef91a1 Fix for bug #9611: now handles absolutely positioned replaced elements 1999-07-20 02:48:18 +00:00
kipp%netscape.com b635ab5465 Removed HaveFixedContent* methods from nsHTMLReflowState and updated code to match (fix bug #7993) 1999-07-07 02:33:17 +00:00
kipp%netscape.com debcbca361 Fixed margin calcs for block elements (and tables) so that when the object is wider than the avail width the object is pinned to the left/right edge as appropriate (bug #6155) 1999-07-05 18:45:12 +00:00
karnaze%netscape.com d16c97dbd1 bug 6185 - absolutely positioned target nsHTMLFrameInnerFrames don't get processed by InitAbsoluteConstraints. 1999-05-10 22:59:03 +00:00
kipp%netscape.com e9b59fbd83 Reinstate a hack, with a comment for next time, so that tables will center again 1999-05-10 22:28:30 +00:00
kipp%netscape.com d09a32fa41 Fix bug 2058 and improve nav4 compatability by not making line-height normal == 1.0 1999-05-03 20:53:27 +00:00
troy%netscape.com afacbe2418 Work-in-progress for relatively positioned inlines being containing blocks
for absolutely positioned child elements
1999-04-22 04:27:47 +00:00
troy%netscape.com 8cff96d246 Change to InitAbsoluteConstraints() to fix bug #5154 1999-04-17 04:24:12 +00:00
kipp%netscape.com 4c435810fd Removed some dead code; Added support for eStyleUnit_Chars for width values 1999-03-31 04:11:40 +00:00
kipp%netscape.com 87b715ea04 Fixed bug #4133 by not providing negative margin values for tables that are too wide 1999-03-29 04:17:23 +00:00
troy%netscape.com ef7800bb44 Fix for bug #2592. Changed ComputeMargin() and ComputePadding() to handle
'inherit' when calculating the computed values
1999-03-26 03:57:46 +00:00
kipp%netscape.com d135887292 Work around 3238 partially until we have a real solution 1999-03-22 20:45:26 +00:00
kipp%netscape.com 7aa3c8b383 Removed some cruft 1999-03-20 21:55:37 +00:00
kipp%netscape.com 1b8e84f8e3 Fixed a typo bug 1999-03-20 19:39:08 +00:00
kipp%netscape.com 1a9b373e56 Eliminate some purify warnings 1999-03-19 23:06:42 +00:00
kipp%netscape.com f7b3921a2c Spanked to collapse inline-reflow with line-layout into line-layout; fixed bugs #1278, #1990, #3527, #1670, etc. 1999-03-18 21:03:25 +00:00
troy%netscape.com 3483f42e09 Work-in-progress for min/max properties 1999-03-11 15:13:17 +00:00
troy%netscape.com a6281248ab Work-in-progress for 'min' and 'max' properties 1999-03-11 01:23:10 +00:00
kipp%netscape.com c2a02d7bce setup more skid marks (disabled) 1999-03-08 19:26:30 +00:00
troy%netscape.com 756524925c Eliminated some code that's no longer needed now that the info is in the
HTML reflow state
1999-03-06 01:40:29 +00:00
troy%netscape.com 34074de63a Removed some static functions that are no longer needed 1999-03-06 00:48:45 +00:00
troy%netscape.com 4810c912a1 Added ComputePadding() member function 1999-03-06 00:36:59 +00:00
troy%netscape.com d368588674 Added ComputeMargin() member function that takes the containing block width
as an argument. This is necessary for absolutely positioned elements which use
the padding edge and not the content edge for the containing block
1999-03-05 22:24:27 +00:00
troy%netscape.com ec6b5f5965 Fixed containing block calculation for absolutely positioned elements. Now
uses padding edge and not the content edge
1999-03-05 21:26:49 +00:00
kipp%netscape.com 201e9c7b32 Revised computations for blocks; store more computed values 1999-03-05 04:24:20 +00:00
kipp%netscape.com 712958e437 Maded DetermineFrameType a callable static method; removed gratuitous line-height calculations 1999-02-23 19:33:06 +00:00
troy%netscape.com 87aa52cedd Added support for 'width' and 'height' values of 'inherit' 1999-02-18 04:40:16 +00:00
troy%netscape.com 7cfd2d8c17 Fixed InitConstraints() to correctly compute the containing block height
for child elements of a scrolled element
1999-02-14 04:43:44 +00:00
troy%netscape.com 90e118bf19 Changed frame construction code to set NS_FRAME_REPLACED_ELEMENT but, and
changed the HTML reflow state to read the bit
1999-02-13 05:59:19 +00:00
kipp%netscape.com 5a554d526e COMized nsIPresShell and nsIPresContext 1999-02-12 17:45:58 +00:00
troy%netscape.com baed642d60 Fix for bug #3089 1999-02-11 03:56:00 +00:00
troy%netscape.com b8965b6929 Changed GetFrameState() and GetFrameType() to use pointer arguments instead of
references
1999-02-10 04:17:06 +00:00
troy%netscape.com 40e3d2b1c8 Changed GetParent() to use ** instead of *& 1999-02-10 01:36:30 +00:00
troy%netscape.com c9c1fa187e Changed some nsIFrame member functions to use ** instead of *& for OUT
paremeters
1999-02-10 00:42:56 +00:00
troy%netscape.com 1b24f37846 Fix for bug #3027. Correctly computes 'auto' margin values and allows them
to be negative
1999-02-09 00:15:43 +00:00
troy%netscape.com 1fed23dbfd Fix for bug #2993. Made sure that 'offsets' are relative to containing block's
padding edge and not the containing block's border edge
1999-02-08 00:32:02 +00:00
troy%netscape.com ea8646c9b8 Made sure computedOffsets is initialized to all zeros for the root frame 1999-02-05 05:51:12 +00:00
troy%netscape.com 34c49c6b34 More work-in-progress for fixed positioning 1999-01-28 17:14:13 +00:00
troy%netscape.com 0c5ff0693c Fixed a problem in CalculateLeftRightMargin() 1999-01-26 16:34:08 +00:00
troy%netscape.com 275fc82910 Added check for unconstrained width/height of the containing block when
computing 'offsets'
1999-01-23 04:49:15 +00:00
troy%netscape.com d412c44912 Correction to how offsets are computed for relatively positioned elements 1999-01-22 04:12:03 +00:00
troy%netscape.com 5a9b0b6a0d Added XXX reminder for myself 1999-01-20 04:50:35 +00:00
troy%netscape.com f81224da15 Removed some scroll related logic that was causing computed widths to be
computed incorrectly. Now the scroll frame handles it
1999-01-20 03:43:33 +00:00
troy%netscape.com 503faed91b Minor cleanup 1999-01-19 05:18:26 +00:00
troy%netscape.com 8d9d3c0d52 Added 'computedMargin' to nsHTMLReflowState, which replaced the individual
margin values (e.g., computedLeftMargin)
1999-01-17 05:43:02 +00:00
troy%netscape.com 3a6b91ec12 Changed nsHTMLReflowState to compute 'offsets' for relatively positioned
elements
1999-01-16 20:58:17 +00:00
troy%netscape.com 8ad1ac6004 Fixed an assert that was getting hit for absolutely positioned elements 1999-01-15 04:28:17 +00:00
troy%netscape.com 5d8b4656eb Removed the content-parent frame pointer. Now we just have the one geometric
parent
1999-01-14 05:16:23 +00:00
troy%netscape.com 8ac6e31715 Fix for bug #2276, and some initial support for 'right' and 'bottom'
for absolutely positioned elements
1999-01-13 06:37:31 +00:00
troy%netscape.com a14ae37e47 Turned off assert 1999-01-09 01:43:02 +00:00
troy%netscape.com 59d1bc8ea5 Replaced "maxSize" member if nsReflowState with "availableWidth" and
"availableHeight"
1999-01-05 23:31:18 +00:00
troy%netscape.com a8ad5f82cb Initial check-in 1999-01-05 19:44:41 +00:00