Boris Zbarsky
dea8d0623a
Bug 626395. Make sure that when we're clipping our kids we don't create overflow containers for their overflow. Force the kids to lay out within our size instead. Also don't include overflowing kids in our overflow area if we're clipping them. r=roc, a=blocker
2011-01-19 17:39:31 -05:00
L. David Baron
27119f2e56
Report incomplete reflow status as appropriate when frame tree is too deep. (Bug 619021) r=roc a2.0=blocking
2011-01-11 17:09:22 -08:00
L. David Baron
4b2511a14f
Issue console warning when we abort reflow because the frame tree is too deep. (Bug 619021) r=roc a2.0=blocking
2011-01-11 17:09:22 -08:00
L. David Baron
120e078631
Add assertions that the frame tree is safe to destroy (i.e., doesn't contain any first-in-flows or other things we should never destroy) when we call DeleteNextInFlowChild. (Bug 619021) r=roc a2.0=blocking
2011-01-11 17:09:22 -08:00
L. David Baron
9e5a15d9b8
Handle multiple continuations of the same float being out-of-order in the same float list. (Bug 595740) r=roc a2.0=blocking
2011-01-11 17:09:21 -08:00
L. David Baron
677d4e9713
Move assertion about continuations of floats so that it is valid. (Bug 595740) r=roc a2.0=blocking
...
When we do multiple reflow passes inside a container with page or column
breaks, we might hit this assertion for legitimate reasons. In
particular, if a reflow places the first-in-flow of a float in a later
continuation of its containing block than it was in before, or if a
reflow reflows a float that was split and then pushes the line
containing the float's placeholder, then during reflow we push the
continuations of the float back through the continuations of the
containing block, and in intermediate states of this process (such as
when this assertion fires), we have two continuations of the same float
within the same parent.
2011-01-11 17:09:21 -08:00
Boris Zbarsky
77d8583289
Bug 614397. Always descend through all placeholders while doing any sort of selection display list. r=roc, a=roc
2010-12-07 08:54:50 -05:00
Dave Townsend
6aaa90bb88
Backing out changeset 2719d97b6766 from bug 609227 due to unexpected reftest failures. a=backout
2010-12-02 10:57:26 -08:00
Boris Zbarsky
79ce2930fc
Bug 609227. Always place a line at y<=0 in the block; there's no point in pushing such a line to the next block. r=roc, a=blocker
2010-12-02 12:32:41 -05:00
Ehsan Akhgari
01ed93b1a6
Bug 389321 - Part 3: Use a centralized algorithm for caret positioning; r=roc a=blocking-betaN+
2010-08-31 14:54:44 -04:00
Alexander Surkov
2451c0984c
Bug 604587 - bullets of nested not ordered lists have one and the same character, r=davidb, sr=roc, a=roc
2010-10-16 00:34:24 +09:00
Alexander Surkov
c19513b15b
Bug 557795 - wrong list bullet text of accessible for the first numbered HTML:li in CKEditor, r=davidb, sr=roc, a=blocking
2010-10-14 18:05:22 +09:00
L. David Baron
77b20c65b1
Change callers to use new nsIFrame overflow APIs. (Bug 542595, patch 20) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:47 -07:00
L. David Baron
de0b6ebe1f
Now that overflow areas are split, change nsIFrame::ComputeTightBounds to use visual overflow. While it really only needs to include frame bounds, glyph bounds, and text decorations, since glyph bounds are not part of scrollable overflow, it must use visual overflow. (Bug 542595, patch 15) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:46 -07:00
L. David Baron
b716e5fc39
Remaining nsBlockFrame changes for split overflow areas. (Bug 542595, patch 14) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:45 -07:00
L. David Baron
41ccd4a16d
Change nsBlockReflowContext::PlaceBlock for split overflow areas. (Bug 542595, patch 13) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:45 -07:00
L. David Baron
ccc4b5aa3a
Split overflow areas for block frame float continuations. (Bug 542595, patch 12) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:45 -07:00
L. David Baron
29023cbaf4
Compute nsBlockFrame.cpp's ComputeCombinedArea to split overflow areas. (Bug 542595, patch 11) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:45 -07:00
L. David Baron
b16888ed27
Compute nsBlockFrame::ComputeCombinedArea to split overflow areas. (Bug 542595, patch 10) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:45 -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
08de77780c
Make nsLineLayout track two separate overflow areas. (Bug 542595, patch 7) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:45 -07:00
L. David Baron
4df6cb15f6
Make ReflowOverflowContainerChildren handle split overflow areas. (Bug 542595, patch 3) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:45 -07:00
L. David Baron
36133921e8
Use split overflow areas in nsAbsoluteContainer::Reflow. Fixes overflow handling bug in nsPositionedInlineFrame where non-positioned overflow was ignored. (Bug 542595, patch 2) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:45 -07:00
Robert O'Callahan
5d2254a0dc
Bug 596710. Increment (not decrement) rline to skip checking the cursor line twice. r=dbaron a=blocking
2010-09-17 12:09:08 -07:00
Ehsan Akhgari
e24d2bc127
Bug 593211 - Part 3: Optimize nsBlockInFlowLineIterator by using the line cursor if present; r,a=roc
2010-09-08 20:15:24 -04:00
Robert O'Callahan
cb6cdf18f6
Bug 584494 - Regression: Transform rotation testcase performs significantly worse - r=dbaron
2010-09-02 14:07:37 -04:00
L. David Baron
6b86ef9a5d
Add support for calc() to 'vertical-align' and 'text-indent'. (Bug 585715) r=bzbarsky a2.0=blocking:beta6+
2010-08-31 12:05:12 -04:00
L. David Baron
4dc0e05e53
Share IsPaddingZero between nsBlockFrame and nsInlineFrame by putting it in nsLayoutUtils. (Bug 585715) r=bzbarsky a2.0=blocking:beta6+
2010-08-31 12:05:12 -04:00
L. David Baron
3a8af703e8
Add support for calc() to the '{margin,padding}-{top,right,bottom,left}' and '-moz-margin-{start,end}' properties. (Bug 585715) r=bzbarsky a2.0=blocking:beta6+
2010-08-31 12:05:12 -04:00
Robert O'Callahan
cd8b7c2a9b
Bug 579323. Part 3: Fix invalidation of lines to update layers as necessary. r=dbaron
2010-08-31 12:49:13 +12:00
L. David Baron
4ff5861e6e
Add support for calc() to the 'height', 'min-height', and 'max-height' properties. (Bug 585715) r=bzbarsky a2.0=blocking+
2010-08-25 12:17:55 +02:00
L. David Baron
3b08f90182
We might need to collect pushed floats from the overflow out-of-flows list too, just like normal floats. (Bug 586806) r=roc a2.0=blocking
2010-08-19 09:38:00 -04:00
L. David Baron
c7ad1ae926
Don't construct an nsFrameList whose first child has a previous sibling. (Bug 586806) r=roc a2.0=blocking
2010-08-19 09:38:00 -04:00
L. David Baron
6f5600d93d
Destroy the pushed floats list in nsBlockFrame::DestroyFrom. (Bug 585598) r=roc a2.0=blocking
2010-08-19 09:38:00 -04:00
L. David Baron
cd0d9f945b
Rename a frame property that I missed in a mass-rename. a2.0=blocking (Bug 563584)
2010-08-19 09:37:59 -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
69c152afca
Set incomplete status when we have continuations that we shouldn't destroy. Fixes assertion on layout/generic/crashtests/469859-1.xhtml . (Bug 563584, patch 30) r=roc
2010-08-05 21:59:20 -07:00
L. David Baron
e541f79afd
Don't switch a constrained height to an unconstrained one due to infinite clearance. Fixes layout/reftests/bugs/563584-10b.html . (Bug 563584, patch 29) 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
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
e5f1f6511d
Rename PushTruncatedPlaceholderLine since the remaining reasons for lines being truncated are related to being next to floats, not having truncated floats. (Bug 563584, patch 19) 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
ebe26b3d60
Save float's next sibling since reflowing it could change the next sibling. (Bug 563584, patch 16) 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
e4fc3a273f
Track which frames were float continuations that need to be pulled to the next block rather than figuring it out again when it's time to pull them. (This allows first-in-flows to be float continuations.) (Bug 563584, patch 12) r=roc
2010-08-05 21:59:19 -07:00