Commit Graph

103 Commits

Author SHA1 Message Date
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
Daniel Holbert
c6bf822085 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
6ea4ab68f1 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
dbec72065b 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
5829959b94 (no bug) clarify a comment about baselines in nsFlexContainerFrame::Reflow. (comment-only, DONTBUILD) 2013-12-03 14:48:10 -08:00
Daniel Holbert
dbf3de00d8 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
06789cd65e 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
24484b8b2d 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
46c88102a1 Bug 939896 part 7: Move ResolveFlexibleLengths() to live on FlexLine. r=mats 2013-11-26 10:27:52 -08:00
Daniel Holbert
cf7a70cfbe Bug 939896 part 6: Make ComputeFlexContainerMainSize take a FlexLine. r=mats 2013-11-26 10:27:52 -08:00
Daniel Holbert
ed50b5c4c2 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
17fe5f28aa 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
c4903654ec 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
7bf089831e 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
061b53c79a Bug 939896 part 2: Make ComputeLineCrossSize take a FlexLine. r=mats 2013-11-26 10:27:51 -08:00
Daniel Holbert
3f3b41c6d7 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
650e9d82e2 (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
41e1a771b0 (no bug) clarify a code comment about flexbox layout. (comment-only, DONTBUILD) 2013-11-23 23:55:27 -08:00
Daniel Holbert
a3efd84588 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
44ac502b2b Bug 941916: Drop unused constructor param "aItems" from SingleLineCrossAxisPositionTracker constructor. r=mats 2013-11-21 22:50:47 -08:00
Daniel Holbert
2ed2d620a1 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
623bdff49b 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
508bbd02b3 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
52b518f7ad (no bug) Remove some obsolete/incorrect comments from nsFlexContainerFrame.cpp. comment-only, DONTBUILD 2013-11-15 20:41:48 -08:00
Daniel Holbert
aa25acef99 (no bug) Fix a few whitespace issues in nsFlexContainerFrame.*
DONTBUILD because whitespace-only
2013-11-12 18:50:39 -08:00
Daniel Holbert
90007e2b2c Bug 903880 part 4: Resolve stretched cross-size early, if we know the container's cross size, and use the result when establishing main size. r=dbaron 2013-10-31 19:39:02 -07:00
Daniel Holbert
32936e8c68 Bug 903880 part 3: Convert "ResolveStretchedSize" into a member-function on FlexItem. r=dbaron 2013-10-31 19:39:02 -07:00
Daniel Holbert
f3c99c7367 Bug 903880 part 2: Resolve the flex base size produced by "height:auto" *after* we create a FlexItem object. r=dbaron 2013-10-31 19:39:02 -07:00
Daniel Holbert
22de9a47a2 Bug 903880 part 1: Create a helper-function to set a flex item's base size (and update its hypothetical main size). r=dbaron 2013-10-31 19:39:02 -07:00
Daniel Holbert
d208ba54f3 Bug 922410: Consolidate loops in MainAxisPositionTracker constructor. r=mats 2013-09-30 20:30:24 -07:00
Daniel Holbert
deb3532c78 Bug 921522: Use already-established flex container content-box main size to determine packing space, instead of checking reflow state. r=mats 2013-09-30 16:38:36 -07:00
Ehsan Akhgari
6cf84bf2d9 Bug 921876 - Stop #including nsIFrame.h in nsLayoutUtils.h; r=roc
This patch does the following:
* Move nsIFrame::IntrinsicSize to mozilla::IntrinsicSize so that it can
  be forward-declared.
* Move a number of templated inline nsLayoutUtils methods to nsIFrame.
* Use mozilla::layout::FrameChildListID instead of the
  nsIFrame::ChildListID typedef in nsLayoutUtils.h.
* Move nsReflowFrameRunnable to its only user, nsProgressMeterFrame.cpp.
* Make a number of functions requiring nsIFrame.h out-of-line.
* Remove the nsIFrame.h #include from nsLayoutUtils.h and add it to the
  places which require it implicitly.
2013-09-30 17:26:04 -04:00
Daniel Holbert
ffde065409 Bug 918519 part 2: Replace GetMainComponent/GetCrossComponent invocations with macros to avoid unnecessarily constructing nsSize() on-the-fly. r=mats 2013-09-20 13:26:52 -07:00
Daniel Holbert
ecd2b0fcf1 Bug 918519 part 1: Add macros GET_MAIN_COMPONENT and GET_FLEX_COMPONENT to nsFlexContainerFrame.cpp, and use them to implement existing utility methods. r=mats 2013-09-20 13:26:52 -07:00
Daniel Holbert
1a3d659c97 Bug 917032 part 3: Move flex item physicalPosn computation up a bit higher. r=mats 2013-09-17 14:54:07 -07:00
Daniel Holbert
5ed56b8778 Bug 917032 part 2: Make PhysicalPositionFromLogicalPosition() take the content-box size, so it can do polarity-flipping if necessary. r=mats 2013-09-17 14:54:02 -07:00
Daniel Holbert
cd787cda63 Bug 917032 part 1: Do flex layout in content-box space, rather than in frame-rect (border-box) space, and adjust for border/padding at the end of reflow. r=mats 2013-09-17 14:53:56 -07:00
Daniel Holbert
e85e587fb4 Bug 914937: Remove nsFlexContainerFrame::GetSkipSides, now that we can inherit a useful impl from nsSplittableFrame. r=mats 2013-09-11 13:54:44 -07:00
Scott Johnson
6175e00428 Bug 794693, part 1: Refactor nsHTMLReflowState constructor to allow initialization to be done by caller. [r=dbaron] 2013-09-09 15:29:05 -05:00
Ehsan Akhgari
06d49ffd4d Bug 907883 - Minimize #includes in layout/generic; r=roc 2013-08-22 14:32:52 -04:00
Daniel Holbert
4f08ba30cf (no bug, whitespace only) Remove unnecessary newline in nsFlexContainerFrame.cpp. DONTBUILD 2013-08-16 18:00:13 -07:00
Corey Ford
6a0ae7831b Bug 898794 - Store normal frame position before applying relative positioning. r=dbaron 2013-08-08 17:20:17 -07:00
Scott Johnson
4006c68438 Bug 743402, Part 4: Refactor ApplySkipSides() and GetSkipSides() to return the correct value during reflow by adding an optional nsHTMLReflowState parameter. [r=roc] 2013-07-25 10:34:27 -05:00
Ryan VanderMeulen
12fbc93e27 Backed out 6 changesets (bug 743402) for reftest failures on a CLOSED TREE.
Backed out changeset 19848fff857e (bug 743402)
Backed out changeset 049168537ae0 (bug 743402)
Backed out changeset 3098fea37f2d (bug 743402)
Backed out changeset ada93e976dca (bug 743402)
Backed out changeset c7907c54187f (bug 743402)
Backed out changeset 2edbbf6440c4 (bug 743402)
2013-07-24 15:14:04 -04:00
Scott Johnson
1c74186f48 Bug 743402, Part 4: Refactor ApplySkipSides() and GetSkipSides() to return the correct value during reflow by adding an optional nsHTMLReflowState parameter. [r=roc] 2013-07-24 12:47:17 -05:00
Corey Ford
1113bd3173 Bug 893962 - Refactor the application of relative positioning. r=dbaron 2013-07-15 17:28:09 -07:00
Daniel Holbert
45ff7c682c Bug 885424 part 4: Refactor ComputeFlexContainerMainSize to have a clearer horizontal case vs. vertical case. r=dbaron 2013-07-11 16:47:03 -07:00