Robert O'Callahan
3bb8bad7c2
Bug 641426. Part 5: Avoid operator== where possible to distinguish between 'equal edges' and 'equal areas' for rectangles. r=dbaron,sr=cjones
2011-04-19 15:07:23 +12:00
Robert O'Callahan
6889074739
Bug 594333. Invalidate frame subtree (including layers) when moving a float. r=dbaron
2010-12-20 14:37:43 +13:00
L. David Baron
9ae503bc74
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
6de86d518a
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
7da6fe6c0f
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
76bfe93b62
Split floats when they are overflow-incomplete. (Bug 585598) r=roc a2.0=blocking
2010-08-19 09:38:00 -04:00
fantasai
3e2b1c5256
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
3ab9ee3f1d
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
fb8706b16b
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
3e6a2bdd62
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
e300848c79
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
6bf203f041
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
9d18b2974d
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
64b8a79f66
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
809b507e64
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
27905b7abe
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
1ff03aad52
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
08ef04a96a
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
f96158442b
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
9ab168163f
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
f9a879c4ed
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
562ff36b20
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
551ce74ab6
Replace force-fit with setting mIsTopOfPage correctly. (Bug 563584, patch 5) r=roc
2010-08-05 21:59:19 -07:00
L. David Baron
9885db7fa7
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
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