L. David Baron
cf6c15fafe
Reflow floating ::first-letter before deciding where to place the float, since we need to reflow it to learn its width. (Bug 594303) r=roc a2.0=blocking:betaN
2010-10-06 21:25:47 -07:00
L. David Baron
1a16af6cf1
Convert nsBlockReflowState::mFloatCombinedArea and part of nsBlockFrame to split overflow areas. (Bug 542595, patch 9) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:45 -07:00
L. David Baron
ec25ee4ac1
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
4f6d481aa3
Split floats when they are overflow-incomplete. (Bug 585598) r=roc a2.0=blocking
2010-08-19 09:38:00 -04:00
fantasai
dbbb6c27ba
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
659a476a68
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
cf599e2859
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
0cc7aadbc1
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
b4287c6cd9
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
9e1e6a54f0
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
1aa2603e6b
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
6aaed7c6a6
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
24f20193c5
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
6d6cfe0a6c
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
3f1f28f403
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
d4ad679a10
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
511bf3905d
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
ef8c3efa12
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
2a10a8b16f
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
b505799e67
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
547b6c3608
Replace force-fit with setting mIsTopOfPage correctly. (Bug 563584, patch 5) r=roc
2010-08-05 21:59:19 -07:00
L. David Baron
71c39670d6
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
4011b9b81d
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
709d05fc31
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
183b5fe161
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
3b0453e338
Subtract the correct border+padding. (Bug 546048) r=roc
2010-04-04 14:46:15 -07:00
Robert O'Callahan
7218dc5fcd
Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron
2010-03-29 14:46:55 +13:00
Daniel Holbert
e003e00f34
comment-only typo fix: s/its/it's/ for contractions in nsBlockReflowState.cpp
2010-01-08 16:38:08 -08:00
L. David Baron
e4e3a57f1f
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
0741d79bb3
Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX. b=512106 r=roc
2009-09-16 17:01:36 +02:00
Daniel Holbert
86e6850bfd
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
609baa9a48
Bug 492627 - Remove Placeholder Continuations [Part V: Reimplement float splitting without placeholder continuations] r=roc
2009-08-31 11:25:36 -07:00
fantasai
d78db610d2
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
a56a409be0
Bug 492627 - Remove Placeholder Continuations [Part III: Remove current float-splitting code.] r=roc
2009-08-31 11:25:35 -07:00
Ehsan Akhgari
ee06d54b25
Fix the build bustage from bug 499377
2009-07-15 12:10:26 +04:30
fantasai
d3aa3e3ff9
Bug 499377 - Store float region on frame r+sr=roc
2009-07-14 22:19:31 -07:00
L. David Baron
b58b309760
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
004efec3e9
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
7183372a99
Merge InitFloat into AddFloat (on nsLineLayout and nsBlockReflowState). (Bug 25888) r+sr=roc
2009-05-20 07:21:34 -04:00
Karl Tomlinson
1a34a67e20
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
65006dab3a
Bug 492937 - kill nsLineLayout::mPlacedFloats and related code; r+sr=roc
2009-05-14 11:31:35 +02:00
L. David Baron
226a2c9ef1
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
4d46ef30cc
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
cc27e59c43
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
321d3bcfc1
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
10ad6a7c4c
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
6e64ed4b4a
Switch away from nsBlockReflowState::mAvailSpaceRect in nsBlockReflowState::AddFloat. (Bug 25888) r+sr=roc
2009-04-08 13:52:36 -07:00
L. David Baron
4ff8795910
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
e3c982c2d3
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
fcff6e2cee
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