Commit Graph

27500 Commits

Author SHA1 Message Date
L. David Baron
f5631fb91d 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
87e57de265 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
7811dafa89 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
5e7f097aa8 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
83f95abb0c 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
e24a4a847e 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
1ac95d9fa8 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
62189e853d 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
771fb25729 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
c804c1c09e 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
f6db316887 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
87bff25504 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
8b608af7e0 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
5dbb4fc493 Replace force-fit with setting mIsTopOfPage correctly. (Bug 563584, patch 5) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
91606392a2 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
4af0ee515d 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
bf246f7401 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
367e34d52e 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
2f98d4b94d Fix processing of matrix() transform functions to handle calc() rather than asserting. (Bug 584569) r=bzbarsky 2010-08-05 21:59:18 -07:00
L. David Baron
fdbe24a04c Remove the MOZ_WIDGET_TOOLKIT backwards-compatibility definition in the reftest condition sandbox. (Bug 570329) r=roc 2010-08-05 21:59:18 -07:00
Chris Jones
1014dfe1fe Bug 570620, part b: Fix a hidden header depedency and add a PresShell::GetLayerManager() helper. r=tn 2010-08-05 17:11:23 -05:00
Chris Jones
f16c7feac5 Bug 570620, part a: Fix an assertion that will soon no longer hold and remove obsoleted already_AddRefed idiom in two places. r=roc 2010-08-05 17:11:23 -05:00
Boris Zbarsky
9e848ad2db Bug 582037. When computing intrinsic widths, take the viewport's dimensions into account when it has percent-height descendants. r=dbaron 2010-08-05 17:59:36 -04:00
Bobby Holley
926c1076f2 Bug 343515 - need API for tabbrowsers to tell docshells they're visible/hidden.r=gavin,sr=bz,a=blocker 2010-08-05 11:27:52 -04:00
Daniel Holbert
565ce0101d Bug 578786: Fix reftests for bug 491180 on Ubuntu 10.04. r=bz a=tests-only 2010-08-05 07:53:43 -07:00
Daniel Holbert
b6ac7fe231 Bug 579492: Use dev pixels for screen rect in PresShell::PaintRangePaintInfo. r=roc a=dbaron 2010-08-05 07:53:43 -07:00
Jonathan Kew
4214a38f34 bug 581092 - use unrounded width when advancing x-position to draw RTL text run in canvas. r=vlad a=blocking2.0 2010-08-05 10:18:39 +01:00
Jonathan Kew
ab9fd8664c bug 578118 - reduce font size in reftest to avoid D2D antialiasing irregularities. r=bas a=tests-only 2010-08-05 10:18:37 +01:00
Boris Zbarsky
062993e0ce Bug 577838. The first line baseline of a fieldset should be the first line baseline of its legend (if it has one), or of its content if it does not. r=dbaron 2010-08-04 22:40:19 -04:00
David Zbarsky
170437618c Remove unneeded nsIDOMNSHTMLInputElement interface by merging it into nsIDOMHTMLInputElement. (Bug 582303) r=jst 2010-08-04 22:40:18 -04:00
Ehsan Akhgari
6ddaf2e6c3 Bug 578604 - Crash [@ nsTextControlFrame::SetInitialChildList(nsIAtom*, nsFrameList&) ] when print preview; r=roc a=blocking2.0+ 2010-08-04 22:13:57 -04:00
Kyle Huey
65b4e6c0c6 Bug 578714: Stop doing Unicode-aware case-folding inside layout/style. r=zwol sr=bz 2010-08-02 15:19:04 -07:00
Zack Weinberg
9ccd63412b Bug 581579: fix error recovery in parsing of CSS priority suffix. r+a=dbaron 2010-08-04 12:27:05 -07:00
Zack Weinberg
19e2c4da92 Bug 338679: mark style declarations immutable if they are stringified. r=bzbarsky a=dbaron 2010-08-02 15:40:35 -07:00
Zack Weinberg
24feb13867 Bug 569719 part 16: Don't refcount declarations and data blocks; don't have style rules hold direct pointers to data blocks. r+a=dbaron 2010-07-23 11:00:52 -07:00
Zack Weinberg
4f39493716 Bug 569719 part 15: Always copy the entire css::Declaration before changing it in any way. r=dbaron 2010-07-23 11:00:49 -07:00
Zack Weinberg
190abbabb0 Bug 569719 part 14: replace DeclarationChanged() with SetCSSDeclaration(), which takes the new declaration as an argument. r=dbaron 2010-07-23 11:00:47 -07:00
Zack Weinberg
99904c8b6e Bug 569719 part 13: move nsCSSParser methods that manipulate data blocks into the appropriate nsCSS*DataBlock classes. r=dbaron 2010-07-23 11:00:44 -07:00
Zack Weinberg
4a58609d8c Bug 569719 part 12: replace nsCSSParser::ClearTempData with explicit use of mTempData.ClearProperty (and make that method handle shorthands). r=dbaron 2010-07-23 11:00:42 -07:00
Zack Weinberg
143a4b55b1 Bug 569719 part 11: take the fast path in ParseProperty for !important replacing !important, as well as normal replacing normal. r=dbaron 2010-07-23 11:00:39 -07:00
Zack Weinberg
793c8d0dc0 Bug 569719 part 10: refactor parsing of !important and the end of a property declaration. r=dbaron 2010-07-23 11:00:37 -07:00
Zack Weinberg
b184cb662d Bug 569719 part 9: remove return value from css::Declaration methods that always return NS_OK, and change GetCSSDeclaration to return a css::Declaration instead of an nsresult. r=dbaron 2010-07-23 11:00:34 -07:00
Zack Weinberg
785d0ccdde Bug 569719 part 7: Add AppendToString methods to nsCSSRect and friends as well, replacing Declaration::AppendStorageToString. r=dbaron 2010-07-23 11:00:29 -07:00
Zack Weinberg
b0de4806b7 Bug 569719 part 6: Move Declaration::AppendCSSValueToString into nsCSSValue. r=dbaron 2010-07-23 11:00:27 -07:00
Zack Weinberg
2d38832142 Bug 569719 part 5: in nsCSSValueList and nsCSSValuePairList, convert Equal() to operator==, and remove unnecessary argument from Clone(). r=dbaron 2010-07-23 11:00:24 -07:00
Zack Weinberg
aebfe9eed8 Bug 569719 part 4: Move nsCSSExpandedDataBlock::RuleDataPropertyAt into struct nsRuleData. r=dbaron 2010-07-23 11:00:21 -07:00
Zack Weinberg
85cd8e693c Bug 569719 part 3: collapse nsDOMCSSDeclaration::ParseDeclaration into its sole caller (nsDOMCSSDeclaration::SetCSSText); remove always-constant flag arguments to nsCSSParser::ParseAndAppendDeclaration; rename that method to ParseDeclarations. r=dbaron 2010-07-23 11:00:19 -07:00
Jeff Muizelaar
73cbe59a21 Bug 584400. cairo: Fix dash arrays with D2D
D2D unexpectedly uses dash lengths with
units of the line width.
2010-08-04 15:00:52 -04:00
Jim Mathies
258b0690f7 Bug 579421 - Title bar(window without body) appears at the upper left corner of monitor screen. r=roc. (CLOSED TREE) 2010-08-03 22:36:19 -07:00
Robert O'Callahan
692ed55c12 Bug 580494. Avoid creating an empty ThebesLayer when an inactive nsDisplayItem::BuildLayer returns null. r=tnikkel
--HG--
extra : rebase_source : a22225bb3b5c2bbc12ab2f9b50594083143dbdf0
2010-08-03 15:33:24 +12:00