L. David Baron
109dae0465
Don't push floats past break due to total lack of available height when we're required to place something. (Bug 586973) r=roc a2.0=blocking
2010-08-19 09:38:00 -04:00
L. David Baron
52881c4fb2
Split floats when they are overflow-incomplete. (Bug 585598) r=roc a2.0=blocking
2010-08-19 09:38:00 -04:00
fantasai
4b31319f01
Change coordinate system in the float manager from content box (most of the time, but sometimes border box) to always border box. (Bug 551425) r=dbaron a2.0=blocking+
2010-08-11 12:32:53 -07:00
L. David Baron
6d279b0435
Rename float continuations to pushed floats. (Bug 563584, patch 33) r=roc
...
This patch was generated with the following sed commands on layout/generic/*.{h,cpp}: 's/FLOAT_CONTINUATION/PUSHED_FLOAT/g;s/FloatContinuation/PushedFloat/g;s/float continuation/pushed float/g' plus whitespace fixup where the frame state bits are defined.
2010-08-05 21:59:20 -07:00
L. David Baron
48dd50ff36
Don't force availableHeight to be nonnegative, because doing so means that we'll place zero height blocks (including their non-zero-height contents) at the bottom of a page when there's not room (see nsHTMLReflowState::SetTruncated). (Bug 563584, patch 32) r=roc
2010-08-05 21:59:20 -07:00
L. David Baron
5239f85a39
Don't split floats when we're not paginating. (Bug 563584, patch 26) Fixes assertion on layout/generic/crashtests/461294-1.html . r=roc
2010-08-05 21:59:20 -07:00
L. David Baron
bc78f1fdf5
In a constrained height situation, we need to reflow anything with floats. (Bug 563584, patch 25) Fixes assertion on layout/generic/crashtests/408883-1.html . r=roc
2010-08-05 21:59:20 -07:00
L. David Baron
5deb652621
Add bit to lines indicating that they may have a placeholder for a float that was pushed to the next line (and bump the child count up to 32 bits). (Bug 563584, patch 24) r=roc
2010-08-05 21:59:20 -07:00
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