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