Граф коммитов

353 Коммитов

Автор SHA1 Сообщение Дата
Jonathan Kew f665472a1c Bug 1127679 - Fix use of incorrect writing mode in flex-item relative positioning. r=smontagu 2015-02-02 18:29:52 +00:00
Daniel Holbert f3f221e566 Bug 1054010: Skip final reflow for flex items that receive an earlier 'measuring reflow' with the right size. r=mats 2015-01-23 14:15:11 -08:00
Daniel Holbert 38ef50f263 Bug 1054054 part 4: Remove stale XXXdholbert comment from ReflowFlexItem. (no review, comment-only) 2015-01-23 10:26:16 -08:00
Daniel Holbert 14edea4218 Bug 1054054 part 3: De-indent ReflowFlexItem function-body (no review, whitespace-only). 2015-01-23 10:26:00 -08:00
Daniel Holbert 93662abfdf Bug 1054054 part 2: Add "a" prefix to args which were formerly local variables, in ReflowFlexItem. r=mats 2015-01-23 10:25:59 -08:00
Daniel Holbert 36b02b61f3 Bug 1054054 part 1: Split out code for doing final reflow of each flex item into its own helper-function, "ReflowFlexItem". r=mats 2015-01-23 10:25:58 -08:00
Daniel Holbert b6b424d410 Bug 1054058 part 3: Use local var to cache flex item's "normal" block offset in container, rather than looking it up. r=mats 2015-01-22 15:12:11 -08:00
Daniel Holbert d9ae35f978 Bug 1054058 part 2: Resolve flex item ascent (baseline) values lazily. r=mats 2015-01-22 15:12:11 -08:00
Daniel Holbert b1051e7880 Bug 1054058 part 1: Proactively save flex items' ascent values, whenever they're reflowed, if there's a chance we'll need them later. r=mats 2015-01-22 15:12:10 -08:00
Daniel Holbert 428b9cacfe Bug 1054046: Cache flex items' tentative cross size from reflow state, to avoid creating another reflow state later on just for that piece of information. r=mats 2015-01-21 19:45:37 -08:00
Ehsan Akhgari 4354953b4f Bug 1118486 - Part 1: Use `= delete` instead of MOZ_DELETE directly; r=Waldo
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:

#!/bin/bash

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "*/.git*" \
       ! -wholename "obj-*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Simon Montagu 9480e827ab Bug 1079154 patch 6: convert ApplyRelativePosition, ReflowChild and FinishReflowChild in nsFlexContainerFrame to the logical versions, r=dholbert 2015-01-06 23:10:07 -08:00
Jonathan Kew e117c33e3d Bug 1077528 - part 1 - Provide physical and logical accessors for the m{HV}Resize flags in nsHTMLReflowState, and convert all flag users to the accessor methods. r=smontagu 2014-11-28 09:44:02 +00:00
Daniel Holbert a03d3e37d5 Bug 1093316 part 1: Backout changeset aece7f9f944c (i.e. backout bug 1032922 part 2), to reflect CSSWG removing "flex-basis: main-size" from the flexbox spec. 2014-11-25 11:28:15 -08:00
Jonathan Watt bf49eb7f25 Bug 651021 - Make nsRenderingContext a stack class. r=jrmuizel 2014-10-31 20:08:49 +00:00
Anuj Agarwal b7608857c2 Bug 791777 - Replaced NS_finite() with mozilla::IsFinite. r=froydnj 2014-10-01 11:26:00 +02:00
Ehsan Akhgari 60360fc645 Bug 1060985 - Fix more bad implicit constructors in layout; r=roc 2014-08-31 23:36:37 -04:00
Arnaud Sourioux 507f505826 Bug 1040582 - Change nsLayoutUtils.cpp's MULDIV Macro to inline function in nsCoord.h. r=dholbert 2014-08-29 01:14:00 -04:00
Daniel Holbert eef7d25289 Bug 1059138 band-aid: Skip flex item sortedness assertion if the first flex item is part of a shadow DOM. r=bz
Not sure what the right fix is here yet, but this should stop the new 'gaia-header' web component from making this dominate the logcat output.
2014-08-27 17:48:21 -07:00
Daniel Holbert abbc77f1fc Bug 1032922 part 2: Rename flex-basis's "auto" keyword to "main-size" (but retain "flex:auto" as shorthand for "1 1 main-size"). r=heycam 2014-08-07 22:11:48 -07:00
Jonathan Kew 76bdb9472c bug 1031241 pt 4 - Rename the {MIN,PREF}_WIDTH constants used to identify the type of intrinsic inline-size. r=smontagu 2014-07-24 18:03:26 +01:00
Jonathan Kew 55170c430a bug 1031241 pt 3 - Also rename Intrinsic{Width,Height} to Intrinsic{I,B}Size. r=smontagu 2014-07-24 18:03:26 +01:00
Jonathan Kew ce9cbe4216 bug 1031241 pt 1 - Rename Get{Min,Pref}Width to Get{Min,Pref}ISize throughout layout. r=dbaron,smontagu 2014-07-24 18:03:25 +01:00
Simon Montagu c3b44c4dad Bug 789096 patch 9: use logical coordinates in nsHTMLReflowState available size. r=jfkthame 2014-07-24 01:28:46 -07:00
Daniel Holbert 5a5a3f91dc Bug 1015474 part 1: Update behavior of "min-width:auto"/"min-height:auto" to match current spec text. r=mats
This updates min-width:auto / min-height:auto to now take several more things
into account, beyond just a flex item's min-content size. Now we'll also
consider its used 'flex-basis', its main max-size property ('max-width' or
'max-height'), and its intrinsic ratio & any constraints in the other
dimension.
2014-07-22 08:24:37 -07:00
Daniel Holbert 3226ed5912 Bug 1037177 part 4: Call ResolveAutoFlexBasisAndMinSize at the end of GenerateFlexItemForChild, instead of just after it. r=mats 2014-07-22 08:24:36 -07:00
Daniel Holbert 9fb7acb17b Bug 1037177 part 3: Split out flexbox's auto-height-measuring code into its own dedicated function. r=mats 2014-07-22 08:24:36 -07:00
Daniel Holbert 4b3514805d Bug 1037177 part 2: Rename ResolveFlexItemMaxContentSizing to ResolveAutoFlexBasisAndMinSize. r=mats 2014-07-22 08:24:36 -07:00
Daniel Holbert 8aa5b6ff7b Bug 1037177 part 1: Make FlexItem() constructor take a reflow state as a parameter, to reduce arg-count and get faster access to style structs. r=mats 2014-07-22 08:24:36 -07:00
Daniel Holbert 8830237118 Bug 984711 part 5: Add back handling for min-height:auto to nsFlexContainerFrame. r=mats
This conceptually reverts changeset 7a289f49170f from bug 848539, though the code being modified looks a bit different now.
2014-07-22 08:24:35 -07:00
Mats Palmgren 036a1f4012 Bug 1031701 - Remove FlexContainerFrame::MarginComponentForSide(), use nsMargin::Side() instead. r=dholbert 2014-07-01 17:58:14 +00:00
Mats Palmgren 3ffa9baecc Bug 1028460 - part 3, Change the return type for Get*SkipSides(). r=roc 2014-06-28 10:13:13 +00:00
Phil Ringnalda 811c3783d4 Back out 5 changesets (bug 1028460, bug 1031444) for somehow breaking asmjscache/test/test_cachingBasic.html on Android 2.2
Backed out changeset 0b5918ec6521 (bug 1031444)
Backed out changeset 663ff18cd4a1 (bug 1028460)
Backed out changeset ae01b3919c8c (bug 1028460)
Backed out changeset 316c8dfeca9b (bug 1028460)
Backed out changeset e237b2c61ea2 (bug 1028460)
2014-06-28 22:01:28 -07:00
Mats Palmgren 4e879335f7 Bug 1028460 - part 3, Change the return type for Get*SkipSides(). r=roc 2014-06-28 10:13:13 +00:00
Jonathan Watt 90194127fd Bug 1030843 - Fix crash in nsNativeThemeCocoa::GetMinimumWidgetSize. r=roc 2014-06-27 10:19:00 +01:00
Mats Palmgren 3e13115cf3 Bug 1025669 - part 0, Add BaseMargin::ApplySkipSides, remove nsIFrame::Apply*SkipSides, and change call sites to use the former. r=roc 2014-06-24 17:52:19 +00:00
Simon Montagu 82f2df73ba Bug 789096 patch 8: use logical coordinates in nsBlockReflowState. r=jfkthame 2014-06-20 02:55:35 -07:00
Simon Montagu aaa4878ee5 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 d6254c995e 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 ca20e365ef Replace Get/SetTopAscent with Get/SetBlockStartAscent. Bug 789096, r=jfkthame 2014-06-11 02:45:31 -07:00
Daniel Holbert 7fcd2f5c25 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 266dec496f Bug 1015563: Soften flexbox assertion that can fail from integer overflow. r=mats 2014-06-02 15:15:23 -07:00
Mats Palmgren 2831fb8a6a 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 006313a0a9 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 ebc2c1341a Backed out changeset 40c010000007 (bug 1009272) for B2G build bustage 2014-05-19 17:20:05 -07:00
Mats Palmgren dcad59dc18 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 f6575400e9 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 e79bba42f6 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 9f6f93ca23 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 9795aca511 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 42253715d7 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 d76ba66a53 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 a722b491f1 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 44a92612c5 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 1d5b2388e9 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 d6998c46b9 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 f6d829e4e0 Bug 985304 part 0: Drop "running" prefix on variable 'runningFlexWeightSum', for clarity. r=mats 2014-05-04 09:10:27 -07:00
Daniel Holbert 27776d66cd 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 79498ad93a (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 b54ed26a5e 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 214f0582ca 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 35a3617546 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 4dcfe09bba 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 6dbbf6747e 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 b18fd6cd5a 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 2f7de5725c 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 d120042dd3 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 a5a455d41e 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 ed868958c3 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 ecb4f7cb34 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 99fd885bc5 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 cded82fd98 Bug 981116: Convert nsFlexContainerFrame boolean member-var into frame state bit. r=heycam 2014-03-07 15:58:38 -08:00
Jonathan Kew c2c11aa0a5 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 dfd6a77df9 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 667dcb83ca (no bug) fix a few whitespace issues in nsFlexContainerFrame.cpp. whitespace-only, DONTBUILD 2014-02-26 23:28:38 -08:00
Arnaud Sourioux 2d583fd28f 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 0a82bd6cf2 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 0e5aa291e4 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 a2113dda90 (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 479a1cc939 (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 ddc963a2e5 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 25c7be4d53 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 23a7b2bd07 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 2781ee2855 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 8e6318cf6a 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 3713935b99 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 14bf63554d 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 b3b9becf92 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 086000f365 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 acef910f4d 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 e6ea29ce0d 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 79b1b1caf2 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 ad56479784 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 9067ab3480 backout changeset 8b6f20bda157 (bug 735577 followup 1) for build failure 2013-12-29 22:48:13 +00:00
Jonathan Kew 9d097b2e05 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 a7837e1ffa 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 954a119d07 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 c63a12abc0 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 6e935eb5c0 Bug 946269: Rename nsFlexContainerFrame::ComputeFlexContainerCrossSize to ComputeCrossSize. implicit-rs=mats 2013-12-06 13:38:49 -08:00
Daniel Holbert 5618520a6f 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 af3597470d 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 0fd622611b 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 bbb468d7da 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 7281b58c28 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 a578e01b92 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 ab0e1a9cac 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 61852fcfdc 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 4ef5935e77 (no bug) clarify a comment about baselines in nsFlexContainerFrame::Reflow. (comment-only, DONTBUILD) 2013-12-03 14:48:10 -08:00
Daniel Holbert 7acb86292c 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 352c97abbd 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 7063bb4bbf 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 4940673777 Bug 939896 part 7: Move ResolveFlexibleLengths() to live on FlexLine. r=mats 2013-11-26 10:27:52 -08:00
Daniel Holbert 6263ab32c1 Bug 939896 part 6: Make ComputeFlexContainerMainSize take a FlexLine. r=mats 2013-11-26 10:27:52 -08:00
Daniel Holbert ed995fc8c7 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 a7f884ee1d 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 b69a64561b 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 f7763536a2 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 89513fc44a Bug 939896 part 2: Make ComputeLineCrossSize take a FlexLine. r=mats 2013-11-26 10:27:51 -08:00
Daniel Holbert c1ef9a4b0f 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 cef4ab00d3 (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 a90f4f502f (no bug) clarify a code comment about flexbox layout. (comment-only, DONTBUILD) 2013-11-23 23:55:27 -08:00
Daniel Holbert c198d5a1f4 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 057b1a461b Bug 941916: Drop unused constructor param "aItems" from SingleLineCrossAxisPositionTracker constructor. r=mats 2013-11-21 22:50:47 -08:00
Daniel Holbert 7162d3aa16 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 a6743ae9d8 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 e9f1aa4204 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 f5c4b679a3 (no bug) Remove some obsolete/incorrect comments from nsFlexContainerFrame.cpp. comment-only, DONTBUILD 2013-11-15 20:41:48 -08:00
Daniel Holbert d4339bef4e (no bug) Fix a few whitespace issues in nsFlexContainerFrame.*
DONTBUILD because whitespace-only
2013-11-12 18:50:39 -08:00
Daniel Holbert 5728c8148f 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 7e3931a5e3 Bug 903880 part 3: Convert "ResolveStretchedSize" into a member-function on FlexItem. r=dbaron 2013-10-31 19:39:02 -07:00
Daniel Holbert 086b60b963 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 ce3e335206 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 c802aa00c3 Bug 922410: Consolidate loops in MainAxisPositionTracker constructor. r=mats 2013-09-30 20:30:24 -07:00
Daniel Holbert 73ed891def Bug 921522: Use already-established flex container content-box main size to determine packing space, instead of checking reflow state. r=mats
--HG--
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-1.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-1a.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-1.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-1b.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-1.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-1a.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-1.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-1b.xhtml
2013-09-30 16:38:36 -07:00
Ehsan Akhgari 290feb1ade 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 68a29ddc8c 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 5cab3033a5 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 ccc1948ea0 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 158e1f5c90 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 9e48d8ee46 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 0eb87cd891 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 de54adfdb5 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 baf3a129ad Bug 907883 - Minimize #includes in layout/generic; r=roc
--HG--
extra : rebase_source : 5e87b764a12b05aff477c71547e2131be67ca93b
2013-08-22 14:32:52 -04:00
Daniel Holbert bf721101e0 (no bug, whitespace only) Remove unnecessary newline in nsFlexContainerFrame.cpp. DONTBUILD 2013-08-16 18:00:13 -07:00
Corey Ford 9adda71475 Bug 898794 - Store normal frame position before applying relative positioning. r=dbaron 2013-08-08 17:20:17 -07:00
Scott Johnson a1817949ef 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 6e81109389 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 e963713207 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 703e3044b9 Bug 893962 - Refactor the application of relative positioning. r=dbaron 2013-07-15 17:28:09 -07:00
Daniel Holbert 81e4580700 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
Daniel Holbert ac99fe266c Bug 885424 part 3: Rename flexContainerMainSize to contentBoxMainSize, for clarity, and mark that & 'frameMainSize' as const. r=dbaron 2013-07-09 14:38:59 -07:00
Daniel Holbert 9e737622e0 Bug 885424 part 2: Perform flexbox main-axis alignment separately from cross-size determination, to more closely match the ordering of steps in flexbox spec. r=dbaron 2013-07-09 14:38:59 -07:00
Daniel Holbert 4fb79319a5 Bug 885424 part 1: Set aStatus at the very beginning of flexbox reflow, and call NS_FRAME_SET_TRUNCATION at the very end. r=dbaron 2013-07-09 14:38:59 -07:00
Daniel Holbert cf18b53761 Bug 885424 part 0: Shift declarion of 'frameCrossSize' down to where it's actually used. r=dbaron 2013-07-09 14:38:59 -07:00
Justin Lebar 3e059c7221 Bug 820686 - Remove code after MOZ_CRASH or MOZ_ASSUME_NOT_REACHED. r=(see below)
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=waldo for js
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else
2013-06-28 18:38:32 -07:00
Justin Lebar 051c5b560a Bug 802686 - s/MOZ_NOT_REACHED/MOZ_CRASH/ in Gecko. r=(see below)
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else

This is a mechanical change made with sed.  Later patches in this queue
clean up the whitespace errors and so on.
2013-06-28 18:38:30 -07:00
Daniel Holbert 3c40fde486 (no bug) Improve/correct some comments in nsFlexContainerFrame::Reflow. comment-only, DONTBUILD 2013-06-20 12:05:35 -07:00
Daniel Holbert ee5c8dc647 Bug 877890: In CSS flexbox and XUL box model, sort placeholders using their out-of-flow frame's order/ordinal value. r=bz 2013-05-31 22:14:03 -07:00
Daniel Holbert 87de3de768 Bug 876074: Soften flexbox assertion about out-of-order children, since it's not dangerous and it can be triggered by unrelated-to-flexbox tree mutations. r=bz 2013-05-28 09:39:02 -07:00
Daniel Holbert b9bdc9e179 Bug 825810 part 2: When digging for a flex item's first non-anonymous descendant, check table caption list & column-group list. r=bz 2013-05-22 11:59:36 +08:00
Daniel Holbert 22d1cb96c1 Bug 825810 part 1: Make GetFirstNonAnonBoxDescendant() okay with receiving & returning null frame pointers. r=bz 2013-05-22 11:59:35 +08:00
Daniel Holbert 3508873a6f Bug 873172: When checking whether a flex item is generated content, skip past any anonymous boxes around it. r=bz
--HG--
rename : layout/reftests/flexbox/flexbox-with-pseudo-elements-1-ref.html => layout/reftests/flexbox/flexbox-with-pseudo-elements-3-ref.html
rename : layout/reftests/flexbox/flexbox-with-pseudo-elements-1.html => layout/reftests/flexbox/flexbox-with-pseudo-elements-3.html
2013-05-19 11:37:56 +08:00
Daniel Holbert c37741e970 (no bug, comment-only) s/:before/::before/ in one comment, for consistency with rest of the comment. DONTBUILD 2013-05-16 15:02:16 -07:00
Daniel Holbert 1d54bb4dfb Bug 870555 part 2: Add nsFlexContainerFrame::GetSkipSides specialization. r=mats 2013-05-09 20:10:49 -07:00
Daniel Holbert e4d322eb18 Bug 867454: Treat a flex container's ::before and ::after generated content nodes as flex items. r=bz 2013-05-02 14:04:47 -07:00
Daniel Holbert 4848ce9bc2 Bug 858332: Make flex items pseudo-stacking contexts, per recent spec change. r=mats 2013-04-18 09:51:18 -07:00
Joshua Cranmer 1f24ef2b5e Bug 856108 - Port static analyses to clang, part 2e: use MOZ_STACK_CLASS in layout. r=mats 2013-04-11 22:20:45 -05:00
Daniel Holbert 035b68ac7f Bug 785468: Compute flex container's baseline as-described in the spec. r=dbaron 2013-03-29 18:32:08 -07:00
Daniel Holbert 1a24ab47f6 Bug 853946: Replace flex container's cached content-box cross-size and cached ascent with local variables in Reflow(). rs=Waldo 2013-03-29 18:32:03 -07:00
Daniel Holbert 264013b5df Bug 854263: Add special-case for flex items that are instances of nsFrame, whose trivial reflow impl doesn't request enough space for its border/padding. r=dbaron 2013-03-28 01:50:21 -07:00
Daniel Holbert dad0359487 Bug 848539 part 3: Back out part of 076d87bf30d0, bug 666041 part 7 (flexbox frame class impl -- just removing the code that deals with min-height:auto). r=dbaron 2013-03-27 23:33:19 -07:00
Daniel Holbert 1695c61c07 (no bug) Fix indentation of multi-line std::max invocations in nsFlexContainerFrame. Whitespace-only, DONTBUILD 2013-03-22 12:13:51 -07:00
Daniel Holbert a89969fc8e Bug 851607: Make nsFlexContainerFrame::Reflow reflow its children unconditionally. r=dbaron 2013-03-15 22:40:57 -07:00
Daniel Holbert 74991fe7c6 Bug 841827: Mark flex container frame as having a relative height, if it's abspos w/ auto-height and top,bottom both set. r=dbaron
--HG--
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1-iframe.html => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-4-iframe.html
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1-ref.xhtml => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-4-ref.xhtml
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1.xhtml => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-4.xhtml
2013-03-14 01:18:53 -07:00
David Zbarsky 3250bd906e [Bug 847110] Fix up includes in layout/style r=dbaron 2013-03-02 19:31:48 -05:00
Daniel Holbert 02890bd0a2 Bug 841847: Ensure that we reflow a flex container's children, if any of them received a "measuring" reflow. r=dbaron
--HG--
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1-iframe.html => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-2-iframe.html
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1-ref.xhtml => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-2-ref.xhtml
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1.xhtml => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-2.xhtml
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1-iframe.html => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-3-iframe.html
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1-ref.xhtml => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-3-ref.xhtml
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1.xhtml => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-3.xhtml
2013-02-22 22:32:30 -08:00
L. David Baron c5b9eee040 Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert
Except for the changes in:
  layout/generic/nsIFrame.h (part)
  layout/style/nsComputedDOMStyle.h (all)
  layout/style/nsRuleNode.cpp (part)
  layout/style/nsStyleContext.cpp (part)
  layout/style/nsStyleContext.h (part)
(see patch 3b in the bug), this patch was written with the sed script:
s/\<GetStyle\(Font\|Color\|List\|Text\|Visibility\|Quotes\|UserInterface\|TableBorder\|SVG\|Background\|Position\|TextReset\|Display\|Content\|UIReset\|Table\|Margin\|Padding\|Border\|Outline\|XUL\|SVGReset\|Column\)\>/Style\1/g
2013-02-16 13:51:02 -08:00
Robert O'Callahan 42e294f8cb Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow
--HG--
extra : rebase_source : de498510bf8d85d9b0b2fab0137ef3be01c9adfa
2013-02-15 00:12:27 +13:00
Robert O'Callahan 5c77da3630 Bug 840902. Part 1: Stop checking the results of various display list methods. r=mattwoodrow
--HG--
extra : rebase_source : 50a3d6809ef76a25a3d02d91f2873d9ba11fdc56
2013-02-15 00:08:08 +13:00
L. David Baron 50d4e367af Bug 841789, patch 1: Rename nsIFrame::GetStyleContext() to nsIFrame::StyleContext() since it can never return null. r=dholbert
This makes it conform to our convention that getters returning pointers
that can never be null do not begin with "Get".
2013-02-15 21:38:33 -08:00
Daniel Holbert 6f6422e21c Bug 821775: Set mHResize & mVResize flags when doing the actual reflow of a flex item, if we did an earlier "measuring" reflow and we're now stretching the item in either or both dimensions. r=dbaron 2013-02-15 14:01:48 -08:00
Daniel Holbert 5dd1b8b1fe (no bug) Fix comment in typo, and remove stale XXXdholbert comment. Comment-only, DONTBUILD 2013-01-17 21:32:31 -08:00
Mats Palmgren b7ae90666d Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Daniel Holbert e46967256c Bug 826149 - Add IsFrameTreeTooDeep() early-return in flex container reflow. r=dbaron 2013-01-07 21:29:22 -05:00
Daniel Holbert da50f2d2d2 Bug 821449: Marked flex items whose height is stretched (via "align-items/align-self") as having a relative height. r=dbaron
--HG--
rename : layout/reftests/flexbox/flexbox-dyn-changePadding-1a.xhtml => layout/reftests/flexbox/flexbox-dyn-changePadding-1b.xhtml
2012-12-26 12:31:23 -08:00
Daniel Holbert be69455939 Bug 821426: Call FinishReflowChild() instead of DidReflow() after flex container's "measuring" reflow for a flex item. r=dbaron 2012-12-26 12:29:27 -08:00
Daniel Holbert a25fc4286f Bug 811521: When reflowing a flex container, ensure its children are sorted by 'order'. r=dbaron 2012-12-26 12:17:52 -08:00
Daniel Holbert 49e9f0770b Bug 808767: Put flex items' borders & backgrounds into the BlockBorderBackgrounds display-list, so that overlapping flex items & their contents will paint in the right order. r=dbaron 2012-11-30 00:13:23 -08:00
Ryan VanderMeulen eb28b72392 Backed out changeset 9430676f5442 (bug 808767) for Android R3 failures. 2012-11-29 17:55:50 -05:00
Daniel Holbert 8e8918314d Bug 808767: Put flex items' borders & backgrounds into the BlockBorderBackgrounds display-list, so that overlapping flex items & their contents will paint in the right order. r=dbaron 2012-11-29 12:46:22 -08:00
Boris Zbarsky f0c76c3f82 Bug 815671 part 7. Fixes to layout code to not copy arrays implicitly. r=roc 2012-11-29 11:14:14 -05:00
Daniel Holbert 0361ac7c61 Bug 807897: Make non-auto values for "z-index" turn flex items into stacking contexts, even if they're not positioned. r=dbaron 2012-11-20 17:24:59 -08:00
Ehsan Akhgari c284cd4124 Bug 810355 - Convert nsDidReflowStatus into an enum class; r=dholbert 2012-11-13 22:47:33 -08:00
Daniel Holbert a677b659cc Bug 804089: Call DidReflow() after "measuring" reflow of flex item, to clear any intermediate state before our *real* ReflowChild() call. r=dbaron 2012-11-11 10:53:57 -08:00
Mats Palmgren 7eb78c7eb5 Bug 806056 - Make nsContainerFrame destroy abs/fixed pos. child frames unless a derived class already did so. Assert that there are no abs/fixed pos. child frames in nsFrame::DestroyFrom(). r=roc 2012-11-02 01:52:59 +01:00
Nathan Froyd 4c61ef9ec5 Bug 806618 - rewrite PR_NewLogModule calls to not generate static initializers; r=ehsan 2012-10-29 19:32:10 -04:00
Daniel Holbert b2195953fb Bug 799207: Reduce severity of assertion that checks baseline of flex item against sentinel value. r=dbaron 2012-10-16 19:04:33 -07:00
Daniel Holbert ba899bba5a Bug 798666: Constrain cross size of auto-sized flex containers to be within min/max range. r=dbaron 2012-10-16 19:04:30 -07:00
Daniel Holbert bb021b1e90 Bug 798020: Reduce severity of fatal assert about unconstrained-width flexbox, since gigantic widths in web content can reach our "unconstrained" sentinel value, and it's not actually dangerous. r=dbaron 2012-10-16 19:04:23 -07:00
Daniel Holbert f6b7d73947 Bug 801098: Unprefix flexbox properties & keywords (still preffed off by default). r=dbaron 2012-10-15 12:42:43 -07:00