Commit Graph

332 Commits

Author SHA1 Message Date
Jonathan Kew
fe8090d7de bug 1031241 pt 3 - Also rename Intrinsic{Width,Height} to Intrinsic{I,B}Size. r=smontagu 2014-07-24 18:03:26 +01:00
Jonathan Kew
c7e5b8d9dc bug 1031241 pt 1 - Rename Get{Min,Pref}Width to Get{Min,Pref}ISize throughout layout. r=dbaron,smontagu 2014-07-24 18:03:25 +01:00
Simon Montagu
0132cc9646 Bug 789096 patch 9: use logical coordinates in nsHTMLReflowState available size. r=jfkthame 2014-07-24 01:28:46 -07:00
Daniel Holbert
c491e60cd0 Bug 1015474 part 1: Update behavior of "min-width:auto"/"min-height:auto" to match current spec text. r=mats
This updates min-width:auto / min-height:auto to now take several more things
into account, beyond just a flex item's min-content size. Now we'll also
consider its used 'flex-basis', its main max-size property ('max-width' or
'max-height'), and its intrinsic ratio & any constraints in the other
dimension.
2014-07-22 08:24:37 -07:00
Daniel Holbert
90a65b178f Bug 1037177 part 4: Call ResolveAutoFlexBasisAndMinSize at the end of GenerateFlexItemForChild, instead of just after it. r=mats 2014-07-22 08:24:36 -07:00
Daniel Holbert
a7518880cb Bug 1037177 part 3: Split out flexbox's auto-height-measuring code into its own dedicated function. r=mats 2014-07-22 08:24:36 -07:00
Daniel Holbert
606dbe7c7a Bug 1037177 part 2: Rename ResolveFlexItemMaxContentSizing to ResolveAutoFlexBasisAndMinSize. r=mats 2014-07-22 08:24:36 -07:00
Daniel Holbert
3716f2bbc2 Bug 1037177 part 1: Make FlexItem() constructor take a reflow state as a parameter, to reduce arg-count and get faster access to style structs. r=mats 2014-07-22 08:24:36 -07:00
Daniel Holbert
75df66164b Bug 984711 part 5: Add back handling for min-height:auto to nsFlexContainerFrame. r=mats
This conceptually reverts changeset 7a289f49170f from bug 848539, though the code being modified looks a bit different now.
2014-07-22 08:24:35 -07:00
Mats Palmgren
cef69b5425 Bug 1031701 - Remove FlexContainerFrame::MarginComponentForSide(), use nsMargin::Side() instead. r=dholbert 2014-07-01 17:58:14 +00:00
Mats Palmgren
57f71caceb Bug 1028460 - part 3, Change the return type for Get*SkipSides(). r=roc 2014-06-28 10:13:13 +00:00
Phil Ringnalda
650df8d81e Back out 5 changesets (bug 1028460, bug 1031444) for somehow breaking asmjscache/test/test_cachingBasic.html on Android 2.2
Backed out changeset 0b5918ec6521 (bug 1031444)
Backed out changeset 663ff18cd4a1 (bug 1028460)
Backed out changeset ae01b3919c8c (bug 1028460)
Backed out changeset 316c8dfeca9b (bug 1028460)
Backed out changeset e237b2c61ea2 (bug 1028460)
2014-06-28 22:01:28 -07:00
Mats Palmgren
3949ce77fb Bug 1028460 - part 3, Change the return type for Get*SkipSides(). r=roc 2014-06-28 10:13:13 +00:00
Jonathan Watt
ac5ccb0288 Bug 1030843 - Fix crash in nsNativeThemeCocoa::GetMinimumWidgetSize. r=roc 2014-06-27 10:19:00 +01:00
Mats Palmgren
4f9712e3f7 Bug 1025669 - part 0, Add BaseMargin::ApplySkipSides, remove nsIFrame::Apply*SkipSides, and change call sites to use the former. r=roc 2014-06-24 17:52:19 +00:00
Simon Montagu
3324128a4d Bug 789096 patch 8: use logical coordinates in nsBlockReflowState. r=jfkthame 2014-06-20 02:55:35 -07:00
Simon Montagu
614fa9614f Replace GetBaseline with GetLogicalBaseline and use logical coordinates in the line position and baseline getters in nsLayoutUtils. Bug 789096, r=jfkthame 2014-06-17 05:19:38 -07:00
Daniel Holbert
ad9e4a6eed Bug 1024875: Make reflow-related functions in nsFlexContainerFrame return void, now that Reflow returns void. r=mats 2014-06-13 08:37:02 -07:00
Simon Montagu
7182a1b8b9 Replace Get/SetTopAscent with Get/SetBlockStartAscent. Bug 789096, r=jfkthame 2014-06-11 02:45:31 -07:00
Daniel Holbert
fad3cd644c Bug 1018449: Don't opportunistically stretch flex items to container's cross-size if the container is multi-line. r=mats 2014-06-06 15:55:58 -07:00
Daniel Holbert
c1b3d4d17f Bug 1015563: Soften flexbox assertion that can fail from integer overflow. r=mats 2014-06-02 15:15:23 -07:00
Mats Palmgren
a26b4d368e Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
Mats Palmgren
e4c50768a0 Bug 1009272 - [css-grid] Add some sanity checks for the grid container child frame lists. r=dholbert 2014-05-19 23:57:00 +00:00
Wes Kocher
2ac79628cc Backed out changeset 40c010000007 (bug 1009272) for B2G build bustage 2014-05-19 17:20:05 -07:00
Mats Palmgren
b7df8dd12d Bug 1009272 - [css-grid] Add some sanity checks for the grid container child frame lists. r=dholbert 2014-05-19 23:57:00 +00:00
Daniel Holbert
4d20424a5a Bug 1011311: Drop no-longer-necessary check on availableFreeSpace's sign, in ResolveFlexibleLengths(). r=mats 2014-05-17 18:49:47 -07:00
Daniel Holbert
9906a9d357 Bug 1005660: Add an "early freeze" step, to freeze flex items that clearly can't grow (or shrink, if we're shrinking). r=mats 2014-05-17 18:49:06 -07:00
Mats Palmgren
e03220a2e3 Bug 1008917 - part 5,6,7, make ReflowChild() and FinishReflowChild() return type 'void', and make a few related helper methods 'void' too. r=roc 2014-05-13 00:47:53 +00:00
Mats Palmgren
84ce46d68c Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc 2014-05-13 00:47:52 +00:00
Wes Kocher
2669e87017 Backed out 11 changesets (bug 1008917) for apparently introducing an intermittent failure of B2G Crashtest-2 on a CLOSED TREE
Backed out changeset e2ab653f688a (bug 1008917)
Backed out changeset b52154d8d900 (bug 1008917)
Backed out changeset 2ab5b01da4de (bug 1008917)
Backed out changeset f7a38df1d44f (bug 1008917)
Backed out changeset 80304bb9a572 (bug 1008917)
Backed out changeset 10ed89a302e9 (bug 1008917)
Backed out changeset 161c41991d46 (bug 1008917)
Backed out changeset 25b2475d2368 (bug 1008917)
Backed out changeset b8000b31277c (bug 1008917)
Backed out changeset 9afa5e7715e1 (bug 1008917)
Backed out changeset 5c380c21351f (bug 1008917)
2014-05-12 15:47:41 -07:00
Mats Palmgren
88bd1a0a98 Bug 1008917 - part 5,6,7, make ReflowChild() and FinishReflowChild() return type 'void', and make a few related helper methods 'void' too. r=roc 2014-05-12 17:40:29 +00:00
Mats Palmgren
4a79e08cae Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc 2014-05-12 17:40:28 +00:00
Daniel Holbert
9c92a8a2b4 Bug 1001653: Return early & break out of loops early in FlexLine::ResolveFlexibleLengths, when we have no unfrozen items remaining. r=mats 2014-05-04 19:05:51 -07:00
Daniel Holbert
4708c37bbf Bug 985304 part 2: Make flex algorithm gracefully handle flex factors that sum to < 1. r=mats
When our flexibilities sum to a fraction < 1, we clamp the free space to be no
greater than that same fraction of the original free space. This effectively
makes us treat a flexibility of e.g. "0.01" as "1% of the original free space"
in that sort of situation (while still treating it as a normal flex factor if
the sum of the flex factors is greater than 1).
2014-05-04 09:10:28 -07:00
Daniel Holbert
051a778acc Bug 985304 part 1: Shorten "flex weight" to "weight" in variable & function names. r=mats
The phrase "flex weight" used to be a term defined in the spec, but it's
long-since been replaced with "flex factor" and "scaled flex factor".

I'm now using the term "weight" to mean "flex factor, with any necessary scaling already done, ready to be used as a weight for apportioning free space".

I'm dropping the "flex" modifier from "flex weight" both for brevity & to make
it more clearly-distinguishable from actual "flex factor" usages in the code.
2014-05-04 09:10:28 -07:00
Daniel Holbert
c0a5f4ddd1 Bug 985304 part 0: Drop "running" prefix on variable 'runningFlexWeightSum', for clarity. r=mats 2014-05-04 09:10:27 -07:00
Daniel Holbert
67a0c6e0db Bug 983427 part 5: Toggle switch to enable the code added in this bug & avoid reflowing flex items in bottom-to-top order. r=mats 2014-04-11 14:22:12 -07:00
Daniel Holbert
4ad3b455d0 (no bug) Update ResolveFlexibleLengths() documentation & drop whitespace on blank line. comment/whitespace-only
(Prior to this commit, the documentation mentioned long-since-removed params aTotalFreeSpace and aItems.)
2014-04-11 14:22:10 -07:00
Daniel Holbert
da9c887273 Bug 983427 part 4c: If axes are reversed, compute flex container's baseline using the *last* flex line (which in reality is the first line). r=mats 2014-04-07 17:17:43 -07:00
Daniel Holbert
f973075a5f Bug 983427 part 4b: If axes are reversed, align baseline-aligned items with respect to to the flex-end edge (which is the "real" flex-start edge). r=mats 2014-04-07 17:17:43 -07:00
Daniel Holbert
7e4568e4f3 Bug 983427 part 4a: Expand FlexItem baseline accessor to let caller pick the edge as well as the axis. r=mats 2014-04-07 17:17:43 -07:00
Daniel Holbert
3d2ef86af5 Bug 983427 part 3: If axes are reversed, swap "flex-start" and "flex-end" alignment (& treat "stretch" as a variety of "flex-start"). r=mats 2014-04-07 17:17:42 -07:00
Daniel Holbert
6d6356c54c Bug 983427 part 2: If axes are reversed, link up our lists of FlexLines & FlexItems in reverse, too. r=mats 2014-04-07 17:17:42 -07:00
Daniel Holbert
30dd3a36b9 Bug 983427 part 1: Add FlexboxAxisTracker flag to indicate whether we've detected bottom-to-top flow & are internally reversing axes. r=mats 2014-04-07 17:17:42 -07:00
Daniel Holbert
a4c315db2b Bug 991512: Add convenience methods to calculate outer main & cross size of a FlexItem. r=mats 2014-04-03 10:40:12 -07:00
Daniel Holbert
546046a9d5 Bug 983434 followup: Fix positioning of MOZ_STACK_CLASS in AutoFlexLineListClearer class definition to fix Linux static-analysis bustage. 2014-03-18 10:27:51 +08:00
Daniel Holbert
16289b589e Bug 983434 part 2: Store FlexLines and FlexItems in MFBT LinkedLists instead of nsTArrays. r=mats 2014-03-18 09:23:23 +08:00
Daniel Holbert
241b2ff854 Backed out c5dc2de8d224 (Bug 983434 part 2) for Linux static-analysis build bustage
CLOSED TREE
2014-03-18 07:27:52 +08:00
Daniel Holbert
52e72cbc5f Bug 983434 part 2: Store FlexLines and FlexItems in MFBT LinkedLists instead of nsTArrays. r=mats 2014-03-18 06:09:41 +08:00
Daniel Holbert
0805127da2 Bug 983434 part 1: Minor cleanup in nsFlexContainerFrame.cpp (rename some variables, promote a static function to a private method). r=mats 2014-03-18 06:09:40 +08:00