Commit Graph

121 Commits

Author SHA1 Message Date
L. David Baron
934f7dfb67 Pass correct *remaining* height to float manager, rather than the whole height of the content area. (Bug 563584, patch 22) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
4a3f5d15df Remove aReflowStatus parameters made unnecessary by previous patch. (Bug 563584, patch 20) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
5247c76404 Do the same for PlaceBelowCurrentLineFloats: don't propagate the truncation of a float into the line's reflow status. (Bug 563584, patch 18) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
867d31744c Don't propagate the float's reflow status through places that expect an inline's reflow status, to avoid the assertion for which bug 563584 was filed. This separates pushing of floats from pushing of lines, and allows first-in-flow floats to be pushed to the next page without their associated line. (Bug 563584, patch 17) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
646c626078 Steal float back before reflowing it, in order to allow first continuation of a float to be pushed to the next page. (Bug 563584, patch 15) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
fd5ab03929 nsBlockFrame::ReflowFloatContinuations doesn't need anything in AddFloat other than FlowAndPlaceFloat. (Bug 563584, patch 14) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
e714f071f9 Manage float continuations to-be-pulled by the next-in-flow better by keeping them in a separate frame list until they're actually pulled. (Bug 563584, patch 13) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
4f730231c6 Don't try to clear pushed floats when computing the final size of blocks. Fixes scrollbar on layout/reftests/bugs/563584-6-columns.html . (Bug 563584, patch 11) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
138354b6a3 Use an AutoRestore to restore mY in nsBlockReflowState::FlowAndPlaceFloat. (Bug 563584, patch 7) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
489ed8d30b When we're in columns (and therefore not splitting floats), push floats that don't fit to the next column. (Bug 563584, patch 6) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
08a16e6b29 Replace force-fit with setting mIsTopOfPage correctly. (Bug 563584, patch 5) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
f46f248ca8 Make nsBlockReflowState::FlowAndPlaceFloat reflow the float after computing its vertical position, so we know how much height is actually available. (Bug 563584, patch 4) r=roc
Test coverage for this is in the future patch "Add reftests for bug 563584.".
2010-08-05 21:59:18 -07:00
L. David Baron
353538a3ba Most of CanPlaceFloat is unnecessary given the float placement rules (in particular, that the top of a float cannot be higher than the top of any prior left or right float) and the fact that we now split floats. (Bug 563584, patch 3) r=roc 2010-08-05 21:59:18 -07:00
L. David Baron
11f75cf522 Remove aForceFit/aRelaxHeightConstraint concept from float reflow, since we now split floats rather than push them to the next page (and correct propagation of nsHTMLReflowState::mFlags::mIsTopOfPage will force fitting when we need to). (Bug 563584, patch 2) r=roc 2010-08-05 21:59:18 -07:00
L. David Baron
a33881c053 Fix assertion about float manager state by restoring old float manager state when we place a float and then cancel that placement. (Bug 563584, patch 1) r=roc 2010-08-05 21:59:18 -07:00
L. David Baron
da49db240b Subtract the correct border+padding. (Bug 546048) r=roc 2010-04-04 14:46:15 -07:00
Robert O'Callahan
9a2ed61b34 Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron 2010-03-29 14:46:55 +13:00
Daniel Holbert
2d9d5efe4f comment-only typo fix: s/its/it's/ for contractions in nsBlockReflowState.cpp 2010-01-08 16:38:08 -08:00
L. David Baron
1e581250d4 Make unconstrained width assertions into warnings because we can hit them when we clamp really large widths. (Bug 525100) r=roc 2009-10-28 20:22:28 -07:00
Mats Palmgren
948203eb7d Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX. b=512106 r=roc 2009-09-16 17:01:36 +02:00
Daniel Holbert
16a6a6205f Bug 503961: Initialize block-reflow-state's nsOverflowContinuationTracker a little later, so that it doesn't end up with stale overflow-list pointers. r=fantasai r=roc 2009-09-13 17:26:01 -07:00
fantasai
d5c48032c3 Bug 492627 - Remove Placeholder Continuations [Part V: Reimplement float splitting without placeholder continuations] r=roc 2009-08-31 11:25:36 -07:00
fantasai
973c4e83aa Bug 492627 - Remove Placeholder Continuations [Part IV: Switch float layout APIs to pass float directly, without placeholder] r=roc 2009-08-31 11:25:35 -07:00
fantasai
01a3a6c947 Bug 492627 - Remove Placeholder Continuations [Part III: Remove current float-splitting code.] r=roc 2009-08-31 11:25:35 -07:00
Ehsan Akhgari
501c1de9a4 Fix the build bustage from bug 499377 2009-07-15 12:10:26 +04:30
fantasai
1a4e383ad9 Bug 499377 - Store float region on frame r+sr=roc 2009-07-14 22:19:31 -07:00
L. David Baron
7c71744210 Fix bug 25888 for inline frames other than bullets: redo line reflow when the line's height pushes it into the way of other floats. (Bug 25888) r+sr=roc 2009-05-20 07:21:34 -04:00
L. David Baron
bedec9616e Implement a method on the float manager to get the largest width available within a height (rather than just at a point). (Bug 25888) r+sr=roc 2009-05-20 07:21:34 -04:00
L. David Baron
78f084eb30 Merge InitFloat into AddFloat (on nsLineLayout and nsBlockReflowState). (Bug 25888) r+sr=roc 2009-05-20 07:21:34 -04:00
Karl Tomlinson
1b9df1cee4 b=481751 block-height line-height for text input and strut baseline for textarea r=bz,sr=dbaron
--HG--
extra : rebase_source : 1241360066ea9387d15c71936da9468399240640
2009-05-19 10:13:12 +12:00
Arpad Borsos
70e2e8c94a Bug 492937 - kill nsLineLayout::mPlacedFloats and related code; r+sr=roc 2009-05-14 11:31:35 +02:00
L. David Baron
e4a4e2453e Use a struct containing a rectangle and a boolean for float available space rather than passing them around separately. (Bug 25888) r+sr=roc 2009-04-08 13:52:37 -07:00
L. David Baron
f63606188b Complete switch away from nsBlockReflowState::mAvailSpaceRect by removing the old members. (Bug 25888) r+sr=roc 2009-04-08 13:52:37 -07:00
L. David Baron
b901f2cb67 Switch away from nsBlockReflowState::mAvailSpaceRect for reflow of child blocks. (Bug 25888) r+sr=roc 2009-04-08 13:52:37 -07:00
L. David Baron
9bba032aed Switch away from nsBlockReflowState::mAvailSpaceRect for reflow of child floats. (Bug 25888) r+sr=roc 2009-04-08 13:52:36 -07:00
L. David Baron
5e6c45ce6a Switch away from nsBlockReflowState::mAvailSpaceRect in bullet reflow, and simultaneously refix bug 427370 in a way that also fixes bug 428810. (Bug 25888) r+sr=roc 2009-04-08 13:52:36 -07:00
L. David Baron
095105cad5 Switch away from nsBlockReflowState::mAvailSpaceRect in nsBlockReflowState::AddFloat. (Bug 25888) r+sr=roc 2009-04-08 13:52:36 -07:00
L. David Baron
84174c3b60 Begin removing mAvailSpaceRect and mBandHasFloats from nsBlockReflowState by converting the current state-mutation GetAvailableSpace to a getter GetFloatAvailableSpace to replace it, and reimplementing the state mutation in terms of the getter. (Bug 25888) r+sr=roc 2009-04-08 13:52:36 -07:00
L. David Baron
c7db9ce60f Keep width of avail space rect at least 0. (Bug 476372) r+sr=roc 2009-02-04 13:24:17 -08:00
L. David Baron
eee42cfdd7 Replace space manager with a more limited float manager. (Bug 191448) r+sr=roc
--HG--
rename : layout/generic/nsSpaceManager.cpp => layout/generic/nsFloatManager.cpp
rename : layout/generic/nsSpaceManager.h => layout/generic/nsFloatManager.h
2009-01-04 19:39:54 -05:00
L. David Baron
57a8e776d8 Rename flags and methods from space manager to float manager. (Bug 191448) r+sr=roc 2009-01-04 19:39:54 -05:00
Robert O'Callahan
f9d2d59b5e Bug 465928. Avoid SetInvalidateTextRuns being called by nsBlockFrame::DoRemoveFrame when we're just deleting empty continuation frames. r+sr=dbaron 2008-12-03 14:27:19 +13:00
Robert O'Callahan
3976bbe726 Bug 413048. Disable float breaking in columns. r+sr=dbaron 2008-08-12 21:32:10 +12:00
Zack Weinberg
3197060cbd Delete nsLayoutUtils::GetAbsoluteCoord(); fold logic into callers and simplify. (Bug 437335) r+sr=dbaron 2008-07-17 16:37:12 -07:00
Karuna (karunasagark@gmail.com)
22a214272c Bug 409331. Instead of QIing to nsBlockFrame in various places, call an nsLayoutUtils method to do it. r+sr=roc 2008-07-14 10:10:23 +12:00
Robert O'Callahan
5cc4ce74b7 Bug 439004. Check whether there's logically empty content already placed on the line instead of just checking whether the line has advanced horizontally. r+sr=dbaron. 2008-06-14 20:28:07 +12:00
Robert O'Callahan
446ada92bc Allow floats to be placed on the current line even after nonzero-width inline content has been placed. Fixes an Acid3 layout bug. r+sr=dbaron 2008-06-11 11:53:22 +12:00
L. David Baron
3b97746336 Remove unneeded (and not present in the proposed CSS3 float-displace property) border-box and padding-box values of -moz-float-edge. (Bug 432891) r+sr=roc 2008-06-05 16:06:34 -07:00
dbaron@dbaron.org
31fad3f842 Compute widths for replaced block clearing past floats once we're at the correct vertical position. b=430813 r+sr=roc a=schrep 2008-05-03 16:33:36 -07:00
fantasai.cvs@inkedblade.net
b093864cba consider relevant overflow when balancing columns (fixes various crashes and hangs) b=404215 r+sr=roc a=beltzner 2008-04-18 00:40:35 -07:00
dbaron@dbaron.org
0cc180b641 Fix bug 427129 / 377664: When displacing blocks that don't interact with floats around floats, displace the border box rather than the margin box. Fix bug 427782: Simultaneously, only displace when the width actually won't go down to an amount that fits (i.e., if it will go to an amount smaller than the intrinsic minimum width, let it). b=427129 r+sr=roc a=schrep 2008-04-14 18:05:17 -07:00
mats.palmgren@bredband.net
5a624fe0b5 The position of an outside bullet should not be affected by floats inside the principal block (this fixes most cases). b=427370 r+sr=dbaron a1.9=beltzner 2008-04-13 10:43:12 -07:00
bmlk@gmx.de
a9dad73560 There is no height greater than unconstrained height, bug 402872, r/sr=roc a=beltzner 2008-03-08 01:12:30 -08:00
jag@tty.nl
2fbcb59ed7 Bug 416998: Fix the order of member variable initializers for a few constructors. sr=bz, a=schrep 2008-02-18 23:36:50 -08:00
dbaron@dbaron.org
b6cd4ed827 Push scrollframes, tables, and other blocks that don't participate in float formatting down when they don't fit next to floats. b=134706,349255 r+sr=roc a=blocking1.9+ 2008-01-28 23:40:05 -08:00
fantasai.cvs@inkedblade.net
625892eb67 fix border/padding and availableHeight calculations at page/column breaks, b=368079 r+sr=roc a=roc 2008-01-23 16:28:42 -08:00
fantasai.cvs@inkedblade.net
9de679bfb3 backing out patch to bug 368079 to investigate reftest failure 2008-01-15 20:59:15 -08:00
fantasai.cvs@inkedblade.net
4b81524f7e fix border/padding and availableHeight calculations at page/column breaks, b=368079 r+sr=roc a=roc 2008-01-15 19:54:46 -08:00
roc+@cs.cmu.edu
23f2ab8f1c Bug 363729. Don't allow fixed-pos tables to have abs-pos children. r=dholbert,sr=dbaron 2007-12-11 17:21:34 -08:00
fantasai.cvs@inkedblade.net
2456fd7a33 paginate absolutely-positioned elements, b=154892 r+sr=roc a=roc 2007-10-01 22:57:45 -07:00
roc+@cs.cmu.edu
d00b4dc27a Bug 389583. Floats fit if their bottom edge is equal to the available space bottom edge. r=eli,sr=mats,a=dbaron 2007-09-03 21:04:12 -07:00
roc+@cs.cmu.edu
61373b8418 Bug 379349. Add support for 'overflow containers' --- special frame continuations that do not map any content of their own, but serve only as containers for laying out children that overflowed their parents' content height. patch by fantasai, r+sr=eli,roc 2007-07-25 21:03:29 -07:00
jwalden@mit.edu
e3c4baccae Bug 348748 - Replace all instances of NS_STATIC_CAST and friends with C++ casts (and simultaneously bitrot nearly every patch in existence). r=bsmedberg on the script that did this. Tune in next time for Macro Wars: Episode II: Attack on the LL_* Macros. 2007-07-08 00:08:04 -07:00
sharparrow1@yahoo.com
7be43fe930 Bug 386900: Topic images rendered in wrong place on slashdot. r+sr=roc 2007-07-06 11:22:56 -07:00
sharparrow1@yahoo.com
60bc3c2574 Fix warning from Bug 285608. r+sr=roc. 2007-07-04 16:38:39 -07:00
sharparrow1@yahoo.com
64411c9fa4 Bug 386147: Don't cut off floats at the bottom of the page (part 1). r+sr=roc 2007-07-01 22:26:52 -07:00
sharparrow1@yahoo.com
629a8533ea Bug 343595: {inc} overflow:hidden float in overflow:hidden div doesn't get repositioned correctly. r+sr=roc 2007-07-01 22:19:57 -07:00
sharparrow1@yahoo.com
797d33c39e Bug 285608: hangs when page with float printed. r+sr=roc. 2007-06-27 09:35:31 -07:00
sharparrow1@yahoo.com
78559aa94e Bug 381385: get rid of unneeded members of nsFloatCache (saves about 50 bytes footprint per float). r+sr=roc. 2007-06-16 13:27:46 -07:00
bzbarsky@mit.edu
685a823789 Make computed style handle "normal" for line-height by computing an actualnumeric height. Bug 371041, r+sr=dbaron 2007-05-04 22:30:10 -07:00
hg@mozilla.com
465265d0d4 Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT, 2007-03-22 10:30:00 -07:00