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
Daniel Holbert
cdc41fd5d4
Bug 981116: Convert nsFlexContainerFrame boolean member-var into frame state bit. r=heycam
2014-03-07 15:58:38 -08:00
Jonathan Kew
3487faa35b
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
500d30bc35
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
66a6cfeef9
(no bug) fix a few whitespace issues in nsFlexContainerFrame.cpp. whitespace-only, DONTBUILD
2014-02-26 23:28:38 -08:00
Arnaud Sourioux
c55abda61c
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
18f3882a0c
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
d92d1282ec
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
9707e3adb8
(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
d36a0d4c5b
(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
5a213feb80
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
02ed0dfeb7
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
2e91b802d2
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
be46fc6d33
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
3169f97bdf
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
d1d9daf0d3
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
Peiyong Lin
db78ce129a
Bug 959874 - Reorder two parameters in nsContainerFrame::FinishReflowChild(), for consistency with nsContainerFrame::ReflowChild(). r=dholbert
2014-01-16 17:34:44 -08:00
Daniel Holbert
c569e258f1
Bug 956046: Allow adjacent anonymous flex items if we've reordered items with the "order" property. r=dbaron
2014-01-08 14:37:13 -08:00
Daniel Holbert
828735895e
Bug 807565: Don't let border/padding push minimum content-box size for themed flex items below 0. r=mats
2014-01-06 19:17:26 -08:00
Daniel Holbert
401960a91c
Bug 893496: Avoid doing bogus infinity*0 multiplication when producing a flex weight from huge flex-shrink and 0 flex-basis. r=mats
2014-01-05 20:18:12 -08:00
Mats Palmgren
a56486443d
Bug 956447 - Make it possible to get frame dumps in non-DEBUG builds. r=roc
2014-01-05 23:31:14 +00:00
Daniel Holbert
4438b4c276
Bug 944909 part 2: add comment noting that assertion can be upgraded later. (comment-only)
2013-12-31 08:47:47 -08:00
Mats Palmgren
58d61da510
Bug 944909 part 1: On the final call to FreezeOrRestoreEachFlexibleSize, assert (and enforce) that each flex item ends up frozen. r=dholbert
2013-12-31 08:47:43 -08:00
Jonathan Kew
cef04e128a
backout changeset 8b6f20bda157 (bug 735577 followup 1) for build failure
2013-12-29 22:48:13 +00:00
Jonathan Kew
d44aaf1e5a
bug 735577 - followup 1 - allow reflow-state to be passed to the reflow-metrics constructor to get the writing mode. r=roc
2013-12-29 22:04:02 +00:00
Jonathan Kew
279981cdc3
bug 735577 - pt 4.1 - use accessor functions for some physical-coordinate fields in nsHTMLReflowMetrics, in preparation for logicalization. r=smontagu
2013-12-27 17:59:52 +00:00
Jonathan Kew
4796e463bc
bug 735577 - pt 3.2 - update the rest of layout code to use the new accessors on nsHTMLReflowState. r=smontagu
2013-12-27 17:59:21 +00:00
Daniel Holbert
9b89fb9c03
Bug 934123: When measuring flex items, pass the same flags into ReflowChild and FinishReflowChild. r=mats
2013-12-18 10:34:46 -08:00
Daniel Holbert
45747d24e3
Bug 946269: Rename nsFlexContainerFrame::ComputeFlexContainerCrossSize to ComputeCrossSize. implicit-rs=mats
2013-12-06 13:38:49 -08:00
Daniel Holbert
93f796b36a
Bug 939901 part 7: Improve flex container baseline calculation from first FlexLine, in multi-line flex containers. r=mats
2013-12-05 10:57:52 -08:00
Daniel Holbert
033cf9af6b
Bug 939901 part 6: Calculate the intrinsic min-width of a multi-line flex container by assuming a wrap between each flex item. r=mats
2013-12-05 10:57:51 -08:00
Daniel Holbert
73b181e1f4
Bug 939901 part 5: Honor 'align-content' in flexbox layout, for multi-line flex containers. r=mats
2013-12-05 10:57:51 -08:00
Daniel Holbert
d2313386a2
Bug 939901 part 4: Make the flexbox reflow code loop over the FlexLines, rather than just working with one FlexLine. r=mats
2013-12-05 10:57:51 -08:00
Daniel Holbert
b77cc93de1
Bug 939901 part 3.5: Honor "page-break-before" and "page-break-after" as flex line breaking requests. r=mats
2013-12-05 10:57:51 -08:00