Commit Graph

7964 Commits

Author SHA1 Message Date
Robert Longson
f8e75e6fb6 Bug 577850 - A gradient applied to SVG Text element should render as if the objectBoundingBox spans the entire Text content. r=roc 2010-08-07 10:38:11 +01:00
Vladimir Vukicevic
30c2b7b82c b=574481; fix layers lifetime issues; part 6 - fix up some video frame bits; r=roc 2010-08-06 22:09:18 -07:00
Dave Townsend
a31d02e412 Backed out changeset 8f8ee0543d0f from bug 580869 in the CLOSED TREE
--HG--
extra : rebase_source : 0bfba926d30e0d6fc80bccd4a5614b1532d9234b
2010-08-06 15:01:59 -07:00
Dave Townsend
7c971976b0 Backed out changeset 300036f6c90f from bug 580869 due to test failures
--HG--
extra : rebase_source : 03db1d0833857740d0e80fd12d56bbc4bd5121d2
2010-08-06 15:00:19 -07:00
Boris Zbarsky
a22ae7125c Hacking around broken test or tree code for now to fix orange in CLOSED TREE 2010-08-06 14:38:21 -04:00
Boris Zbarsky
4a3531738d Bug 547342 followup. Need to make sure to flush even if we have a cached treebody. 2010-08-06 11:08:06 -04:00
Ehsan Akhgari
7dc883912c Bug 580869 - bustage fix; irc stamp=bzbarsky 2010-08-06 10:49:32 -04:00
Ehsan Akhgari
c997e86b2e Bug 581585 - Cache the frame for caret; r=roc approval2.0=dbaron
--HG--
extra : rebase_source : 3043705ce2689532c40d6e0f1b023b55174e8a88
2010-07-26 20:05:14 -04:00
Ehsan Akhgari
d298284e05 Bug 580869 - Cache the frame found in nsTextFrame::GetChildFrameContainingOffset; r=roc approval2.0=dbaron
--HG--
extra : rebase_source : c04666fc452be4108ed717686086a5f7baba753d
2010-07-23 17:37:55 -04:00
Boris Zbarsky
fb72631f4c Bug 547342 real fix. Flush on ScrollToRow. r=enn 2010-08-05 14:39:39 -04:00
Boris Zbarsky
052a2f6a83 Bug 575336 part 5. Stop flushing out layout on the whole viewmanager tree when layout is flushed on a document and results in invalidates. r=roc 2010-08-05 14:39:39 -04:00
Boris Zbarsky
fcf146ef6f Bug 575336 part 3. Change the reftest harness to do its initial flush on all subframes, not just the root one. r=roc 2010-08-05 14:39:39 -04:00
Boris Zbarsky
e8a9de31ab Bug 575336 part 1. Make sure to update the size of the current prescontext on style flush, so that media queries do the right thing. r=roc 2010-08-05 14:39:39 -04:00
L. David Baron
75fe6757f3 Bump assertion count on Windows; followup to bug 563584. 2010-08-05 23:01:07 -07:00
Craig Topper
8972b3e08e Bug 585616 - Merge nsIDOMNSCSS2Properties and nsIDOMSVGCSS2Properties into nsIDOMCSS2Properties. r=bz 2010-08-05 22:32:01 -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
50efda9d7b Add reftests for bug 563584. (Bug 563584, patch 31) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
202767697e 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
d71021a7dd 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
875b636719 Add comment describing mIsTopOfPage better. (Bug 563584, patch 28) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
74b8b51e37 Add testcase to check that mIsTopOfPage is false when reflowing blocks that have clearance. (There was originally a patch here, but it seems not to be needed, so now it's just tests.) (Bug 563584, patch 27) 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
d34dbc633c Adjust reftest assertion manifests for churn in nscoord_MAX-related assertions (which includes 'computed overflow area' assertion, because of width wraparound in UnionRect making overflow area empty). (Bug 563584, patch 23) 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
b56efbfcf6 Add checks to VerifyList that previous siblings match next siblings. (Bug 563584, patch 21) 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
46bdda8846 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
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
f3f9dbebba 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
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
99f4849c65 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
L. David Baron
7c80834b1e Make nsFrameList::RemoveFramesAfter(nsnull) remove the whole list. (Bug 563584, patch 11.5) 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
fe16c37241 Add the optimization mentioned in the previous patch, so we don't have to iterate all floats to determine if one was split. (Bug 563584, patch 10) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
02c1db8436 Allow the float manager to record that a float has been pushed past a break. (Bug 563584, patch 9) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
4da470a62d Remove initialization to value that doesn't make much sense and never matters. (Bug 563584, patch 8) 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
06135a3d37 Fix processing of matrix() transform functions to handle calc() rather than asserting. (Bug 584569) r=bzbarsky 2010-08-05 21:59:18 -07:00