Commit Graph

126 Commits

Author SHA1 Message Date
Daniel Holbert
14d26a8bdb 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
2f45c9517f (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
a16595c7e3 (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
92c0ec28f6 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
e4351e2133 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
192af6695e 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
24178bf4de 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
8b3fd15df6 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
aa243cb603 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
e0dbe148bc 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
84bbf5a65a 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
3ea9bcc426 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
57fe219e9b 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
1a854bc937 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
d2258e012d 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
1165cdeb80 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
5b57b958d7 backout changeset 8b6f20bda157 (bug 735577 followup 1) for build failure 2013-12-29 22:48:13 +00:00
Jonathan Kew
f4958b2b4b 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
1598f60cbd 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
58325cd45d 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
6630b0ea02 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
998d998b20 Bug 946269: Rename nsFlexContainerFrame::ComputeFlexContainerCrossSize to ComputeCrossSize. implicit-rs=mats 2013-12-06 13:38:49 -08:00
Daniel Holbert
9e3f151aab 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
18420a3548 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
0e265de03a 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
3bbf5fcbab 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
281ff2e646 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
Daniel Holbert
e944d16e76 Bug 939901 part 3: When generating FlexLines, wrap at page-breaks and at max-main-size. r=mats 2013-12-05 10:57:51 -08:00
Daniel Holbert
90b4f82164 Bug 939901 part 2: Convert GenerateFlexItems into GenerateFlexLines, wrapping new FlexItems to new FlexLines when we run out of space in container's main axis. r=mats 2013-12-05 10:57:51 -08:00
Daniel Holbert
49cb9bd0ff Bug 939901 part 1: Make FlexboxAxisTracker aware that flex-wrap:wrap-reverse flips cross axis, and clean up related assertions/comments. r=mats 2013-12-05 10:57:51 -08:00
Daniel Holbert
beb313d280 (no bug) clarify a comment about baselines in nsFlexContainerFrame::Reflow. (comment-only, DONTBUILD) 2013-12-03 14:48:10 -08:00
Daniel Holbert
4841da1d65 Bug 943509: Explicitly check for unconstrained availableHeight, when checking whether bottom padding fits, at end of flex container reflow. r=mats 2013-11-26 17:14:48 -08:00
Daniel Holbert
0fbc72736a Bug 939896 part 9: Use cached sums of flexbox inner/outer main sizes in ResolveFlexibleLengths, and rename a variable. r=mats 2013-11-26 10:27:53 -08:00
Daniel Holbert
d03b23db36 Bug 939896 part 8: Make FlexLine store the sums of its items' hypothetical inner & outer main sizes. r=mats 2013-11-26 10:27:52 -08:00
Daniel Holbert
cdcd202b78 Bug 939896 part 7: Move ResolveFlexibleLengths() to live on FlexLine. r=mats 2013-11-26 10:27:52 -08:00
Daniel Holbert
d3e42e8923 Bug 939896 part 6: Make ComputeFlexContainerMainSize take a FlexLine. r=mats 2013-11-26 10:27:52 -08:00
Daniel Holbert
ddb884ecba Bug 939896 part 5: Move PositionItemInMainAxis to live on FlexLine, and make it position all the line's items. r=mats 2013-11-26 10:27:52 -08:00
Daniel Holbert
f9d6ef3d2a Bug 939896 part 4: Move PositionItemInCrossAxis to live on FlexLine, and make it position all the line's items. r=mats 2013-11-26 10:27:52 -08:00
Daniel Holbert
473353d4cb Bug 939896 part 3b: Keep track of line cross-size and baseline-alignment offset in FlexLine instead of in (more ephemeral) SingleLineCrossAxisPositionTracker. r=mats 2013-11-26 10:27:51 -08:00
Daniel Holbert
27d70dddcc Bug 939896 part 3a: Make FlexItem compute its own baseline offset from cross-start edge (and support bottom-to-top cross axis). r=mats 2013-11-26 10:27:51 -08:00
Daniel Holbert
a2b9305a1a Bug 939896 part 2: Make ComputeLineCrossSize take a FlexLine. r=mats 2013-11-26 10:27:51 -08:00
Daniel Holbert
9a2bfa2d61 Bug 939896 part 1: Introduce a FlexLine object, which manages a nsTArray of FlexItems on a single line in a flex container. r=mats 2013-11-26 10:27:50 -08:00
Daniel Holbert
d90f79da3c (no bug) Update names for 'justify-content' property values in 2 comments within nsFlexContainerFrame.cpp. (comment-only, DONTBUILD) 2013-11-25 00:22:30 -08:00
Daniel Holbert
6e26a0a81b (no bug) clarify a code comment about flexbox layout. (comment-only, DONTBUILD) 2013-11-23 23:55:27 -08:00
Daniel Holbert
1b17268086 Bug 941916 followup: Drop another unused param "aFlexContainerFrame" from SingleLineCrossAxisPositionTracker constructor. r=trivial (essentially the same as previous patch) 2013-11-23 11:07:33 -08:00
Daniel Holbert
8d0f76f92c Bug 941916: Drop unused constructor param "aItems" from SingleLineCrossAxisPositionTracker constructor. r=mats 2013-11-21 22:50:47 -08:00
Daniel Holbert
65068e4abc Bug 811024 part 4: Don't ask for bottom border/padding space on a flex container if it's going to get a continuation. r=mats 2013-11-21 10:20:02 -08:00
Daniel Holbert
39bf0c0a33 Bug 811024 part 3: Split horizontal flex containers whose cross size (height) is larger than available height (and refactor cross-size computation). r=mats 2013-11-21 10:20:01 -08:00
Daniel Holbert
14f008a48b Bug 811024 part 2: Split vertical flex containers whose main size (height) is larger than available height. r=mats 2013-11-21 10:20:01 -08:00
Daniel Holbert
ca07ff7e63 (no bug) Remove some obsolete/incorrect comments from nsFlexContainerFrame.cpp. comment-only, DONTBUILD 2013-11-15 20:41:48 -08:00