Commit Graph

167 Commits

Author SHA1 Message Date
Simon Montagu
5eca90017f Bug 789096 patch 8: use logical coordinates in nsBlockReflowState. r=jfkthame 2014-06-20 02:55:35 -07:00
Simon Montagu
36dfc0d94f 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
87cff0b293 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
16bbd0f24e Replace Get/SetTopAscent with Get/SetBlockStartAscent. Bug 789096, r=jfkthame 2014-06-11 02:45:31 -07:00
Daniel Holbert
158690f0fb 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
49fa2f483c Bug 1015563: Soften flexbox assertion that can fail from integer overflow. r=mats 2014-06-02 15:15:23 -07:00
Mats Palmgren
beb1dea11c 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
c0d1ff26ed 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
33ddbc6a5f Backed out changeset 40c010000007 (bug 1009272) for B2G build bustage 2014-05-19 17:20:05 -07:00
Mats Palmgren
99f67807e9 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
ab151812bd 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
861db17398 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
887ebb543a 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
5023eccc38 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
4bfe3c39fd 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
4cdeee2464 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
3272848305 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
bc08fa7cc2 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
2eba58f98a 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
4385fc88a0 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
613a3f6f4e Bug 985304 part 0: Drop "running" prefix on variable 'runningFlexWeightSum', for clarity. r=mats 2014-05-04 09:10:27 -07:00
Daniel Holbert
f199350df0 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
0eafe62a94 (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
2568d82beb 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
48d0797358 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
26c5aa1b0a 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
2e15125e33 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
d590d87165 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
80feedddba 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
1bbe685742 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
77e70df203 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
f4c4deddd3 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
d4b9609044 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
17628b5239 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
f37d570ca0 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
Daniel Holbert
f823197be5 Bug 981116: Convert nsFlexContainerFrame boolean member-var into frame state bit. r=heycam 2014-03-07 15:58:38 -08:00
Jonathan Kew
73fcec8ebe bug 735577 - followup 1 (v2) - allow reflow-state to be passed to the reflow-metrics constructor to get the writing mode. r=roc 2013-12-31 13:50:31 +00:00
Daniel Holbert
25bd4e0e40 Bug 973701: Check NS_FRAME_OUT_OF_FLOW state bit instead of IsAbsolutelyPositioned(), when excluding out-of-flow frames from being considered as flex items. r=mats 2014-03-04 11:08:54 -08:00
Daniel Holbert
be0595a818 (no bug) fix a few whitespace issues in nsFlexContainerFrame.cpp. whitespace-only, DONTBUILD 2014-02-26 23:28:38 -08:00
Arnaud Sourioux
bc988b83ca Bug 919806: Get rid of NS_IMETHOD in nsIFrame.h and its implementations r=dholbert 2014-02-17 23:47:48 -08:00
Daniel Holbert
1d8c23fa21 Bug 971913: Use DISPLAY_MIN_WIDTH / DISPLAY_PREF_WIDTH logging macros in nsFlexContainerFrame. r=jwatt 2014-02-12 23:47:01 -08:00
Daniel Holbert
06d42b32c5 Bug 969147: Compute (and sum) the cross sizes of flex lines as we go, to make pagination easier. r=mats 2014-02-06 17:04:52 -08:00
Daniel Holbert
97667e3d8d (no bug) Tweak a comment in nsFlexContainerFrame.cpp to make it accurate in the post-bug-939901 multi-line flexbox world. (no review, comment-only; DONTBUILD) 2014-01-31 14:54:08 -08:00
Daniel Holbert
74c130c331 (no bug) whitespace fix in nsFlexContainerFrame.cpp (reindent some function-parameters). no review, whitespace-only, DONTBUILD 2014-01-30 13:02:05 -08:00
Daniel Holbert
ac7ee96123 Bug 962267: Move nsFlexContainerFrame.h's forward-decls into the class's scope. r=mats 2014-01-21 17:05:07 -08:00
Daniel Holbert
93349644a3 Bug 783470 part 5: Add assertion to ensure we don't create FlexItems for abspos children. rs=mats 2014-01-21 14:52:32 -08:00
Daniel Holbert
ba6b5c54fa Bug 783470 part 3: Use the strut metadata we've saved to actually build special "strut" FlexItems on our second pass through reflow. r=mats 2014-01-21 14:52:27 -08:00
Daniel Holbert
d53b425443 Bug 783470 part 2: Create an array with information about each visibility:collapse "strut" that we need to build. r=mats 2014-01-21 14:51:58 -08:00
Daniel Holbert
a42f13cbbc Bug 783470 part 1: Split most of flex reflow into a helper-function, so that we can easily restart it by reinvoking that helper. r=mats 2014-01-21 14:51:57 -08:00
Daniel Holbert
c0b5e30210 Bug 961354 part 2: Don't consider absolutely-positioned elements to be flex items, since they don't participate in normal flex layout. r=mats 2014-01-20 14:02:20 -08:00