Commit Graph

359 Commits

Author SHA1 Message Date
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
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