Commit Graph

630 Commits

Author SHA1 Message Date
L. David Baron
2272a06a66 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
2828d8c337 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
2f12ebf8c9 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
9ff98c094d Subtract the correct border+padding. (Bug 546048) r=roc 2010-04-04 14:46:15 -07:00
Robert O'Callahan
a81de51fc9 Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron 2010-03-29 14:46:55 +13:00
Daniel Holbert
57735e5e2d comment-only typo fix: s/its/it's/ for contractions in nsBlockReflowState.cpp 2010-01-08 16:38:08 -08:00
L. David Baron
5e147851b3 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
f82eedba5a Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX. b=512106 r=roc 2009-09-16 17:01:36 +02:00
Daniel Holbert
01a9126fbb 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
138ed48e37 Bug 492627 - Remove Placeholder Continuations [Part V: Reimplement float splitting without placeholder continuations] r=roc 2009-08-31 11:25:36 -07:00
fantasai
70fe082226 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
1aad05038a Bug 492627 - Remove Placeholder Continuations [Part III: Remove current float-splitting code.] r=roc 2009-08-31 11:25:35 -07:00
Ehsan Akhgari
b5d550cbae Fix the build bustage from bug 499377 2009-07-15 12:10:26 +04:30
fantasai
0c4b41f686 Bug 499377 - Store float region on frame r+sr=roc 2009-07-14 22:19:31 -07:00
L. David Baron
000832a3a7 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
1b30cae7c9 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
0ed75adb3f Merge InitFloat into AddFloat (on nsLineLayout and nsBlockReflowState). (Bug 25888) r+sr=roc 2009-05-20 07:21:34 -04:00
Karl Tomlinson
ba3c1f0135 b=481751 block-height line-height for text input and strut baseline for textarea r=bz,sr=dbaron 2009-05-19 10:13:12 +12:00
Arpad Borsos
16ad43ac26 Bug 492937 - kill nsLineLayout::mPlacedFloats and related code; r+sr=roc 2009-05-14 11:31:35 +02:00
L. David Baron
3c1d1a8c57 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
1b473f9486 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
8e5a8817f7 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
5607fe20f6 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
81177784f9 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
fb37342449 Switch away from nsBlockReflowState::mAvailSpaceRect in nsBlockReflowState::AddFloat. (Bug 25888) r+sr=roc 2009-04-08 13:52:36 -07:00
L. David Baron
2e9870b4ee 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
8b3cd9e521 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
7c32f841de Replace space manager with a more limited float manager. (Bug 191448) r+sr=roc 2009-01-04 19:39:54 -05:00
L. David Baron
f2d241e914 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
867901d04c 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
b4185b069c Bug 413048. Disable float breaking in columns. r+sr=dbaron 2008-08-12 21:32:10 +12:00
Zack Weinberg
0761467047 Delete nsLayoutUtils::GetAbsoluteCoord(); fold logic into callers and simplify. (Bug 437335) r+sr=dbaron 2008-07-17 16:37:12 -07:00
351323faba 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
142967adaf 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
221d348cf2 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
ab259e5788 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
2cba0afc84 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
818152dff5 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
08ad459197 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
55ebb2e0ad 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
034903cc02 There is no height greater than unconstrained height, bug 402872, r/sr=roc a=beltzner 2008-03-08 01:12:30 -08:00
17259f0581 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
a45f66ce73 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
772c045b1d 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
3ce94744df backing out patch to bug 368079 to investigate reftest failure 2008-01-15 20:59:15 -08:00
4e221b908b 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
f05dd9976d 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
9011ed7502 paginate absolutely-positioned elements, b=154892 r+sr=roc a=roc 2007-10-01 22:57:45 -07:00
a439e4d0ee 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
e3742c090c 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