Commit Graph

13028 Commits

Author SHA1 Message Date
Phil Ringnalda
7c7dd328d1 Backed out 3 changesets (bug 1271765) for -Werror bustage
CLOSED TREE

Backed out changeset 235ea1c681db (bug 1271765)
Backed out changeset 02d34b18d76b (bug 1271765)
Backed out changeset 088113647629 (bug 1271765)
2016-11-07 18:51:18 -08:00
Brad Werth
0d9163aeec Bug 1221524 Part 3: Implement align-self:last baseline behavior in flex containers. r=dholbert
MozReview-Commit-ID: 7Qo7LPu74Ra

--HG--
extra : rebase_source : 81bccbf7bdb7c7e83198783514acba35a690d9f2
2016-11-07 09:53:14 -08:00
Brad Werth
660c37a2d7 Bug 1221524 Part 1: Map align-self:"baseline" to "flex-start" when FlexItem writing mode is orthogonal to container main axis. r=dholbert
MozReview-Commit-ID: 2IlkVDWNirG

--HG--
extra : rebase_source : 6885a5a4a4247b4cec74d6ff9ca1c463cd6b0e14
2016-10-31 14:46:52 -07:00
Ray Lin
01a64b4413 Bug 1271765 - Part 1: Remove XUL-specific reflow code of video control. r=dholbert
MozReview-Commit-ID: KFn3ga2Uqq2

--HG--
extra : rebase_source : 09c9b06d40cb199114ca6777cdc992a04fb4d6eb
2016-10-12 13:41:50 +08:00
Phil Ringnalda
a7bc94158c Merge m-i to m-c, a=merge
MozReview-Commit-ID: H4VKCYDq5cD

--HG--
rename : xpcom/tests/TestAutoRef.cpp => xpcom/tests/gtest/TestAutoRef.cpp
rename : xpcom/tests/TestCOMArray.cpp => xpcom/tests/gtest/TestCOMArray.cpp
rename : xpcom/tests/TestCOMPtr.cpp => xpcom/tests/gtest/TestCOMPtr.cpp
rename : xpcom/tests/TestCOMPtrEq.cpp => xpcom/tests/gtest/TestCOMPtrEq.cpp
rename : xpcom/tests/TestFile.cpp => xpcom/tests/gtest/TestFile.cpp
rename : xpcom/tests/TestHashtables.cpp => xpcom/tests/gtest/TestHashtables.cpp
rename : xpcom/tests/TestID.cpp => xpcom/tests/gtest/TestID.cpp
2016-11-05 13:36:25 -07:00
Sebastian Hengst
21b6a70f58 Bug 1310297 - Remove test annotations using b2g, mulet or gonk: layout/generic. r=RyanVM
MozReview-Commit-ID: 2Klhlu481mS

--HG--
extra : rebase_source : 848600cd18690e3308da370429c591200425c0cb
2016-11-05 11:29:20 +01:00
Mats Palmgren
667529f852 Bug 1314206 part 2 - [css-grid] Don't check for unconstrained inline size since it never occurs (other than by accident). r=dholbert 2016-11-05 02:57:08 +01:00
Mats Palmgren
0a5e98068a Bug 1314206 part 1 - [css-grid] Stretch the inline size when requested, unless we're measuring the shrink-wrap size. r=dholbert 2016-11-05 02:57:08 +01:00
Mats Palmgren
faf8e6f6bf Bug 1313254 part 6 - [css-grid] A few comment tweaks. rs=dholbert 2016-11-05 02:57:08 +01:00
Mats Palmgren
b1c4b6d89a Bug 1313254 part 2 - [css-align] Change "last-baseline" to "last baseline" in layout/ (scripted change). r=dholbert 2016-11-05 02:57:07 +01:00
Mats Palmgren
bb4421d329 Bug 1300369 part 12b - Make nsIFrame::ComputeISizeValue clamp the min-content size when eIClampMarginBoxMinSize is in aFlags. r=dholbert 2016-11-05 02:57:07 +01:00
Mats Palmgren
87c23dd98b Bug 1300369 part 12a - Add a ComputeSizeFlags arg to nsIFrame::ComputeISizeValue. Propagate aFlags in nsFrame::ComputeSize in its ComputeISizeValue calls (idempotent patch). r=dholbert 2016-11-05 02:57:07 +01:00
Mats Palmgren
6b1b0153ba Bug 1300369 part 11 - Move nsLayoutUtils::ComputeISizeValue to a nsIFrame method (idempotent patch). r=dholbert 2016-11-05 02:57:07 +01:00
Mats Palmgren
5bcffbffeb Bug 1300369 part 10 - Make nsFrame::ComputeSizeWithIntrinsicDimensions handle margin-box min-size clamping. r=dholbert 2016-11-05 02:57:06 +01:00
Mats Palmgren
a6089b50fc Bug 1300369 part 9 - Add a ComputeSizeFlags param to nsFrame::ComputeSizeWithIntrinsicDimensions (idempotent patch). r=dholbert 2016-11-05 02:57:06 +01:00
Mats Palmgren
ddb49488f0 Bug 1300369 part 8 - Move nsLayoutUtils::ComputeSizeWithIntrinsicDimensions to a nsFrame method (idempotent patch). r=dholbert 2016-11-05 02:57:06 +01:00
Mats Palmgren
e54d8218a4 Bug 1300369 part 7 - [css-grid] Implement margin-box min-size clamping for grid item reflow. r=dholbert 2016-11-05 02:57:06 +01:00
Mats Palmgren
a0c5be1ac8 Bug 1300369 part 6 - Make nsBlockFrame::ComputeFinalSize handle margin-box min-size clamping. r=dholbert 2016-11-05 02:57:06 +01:00
Mats Palmgren
1296ddcec3 Bug 1300369 part 5 - Make nsFrame::ComputeSize and nsFrame::ShrinkWidthToFit handle margin-box min-size clamping. r=dholbert 2016-11-05 02:57:06 +01:00
Mats Palmgren
e78d14df88 Bug 1300369 part 4 - Refactor all ComputeAutoSize methods to take the full ComputeSizeFlags instead of just a "bool aShrinkWrap" for the eShrinkWrap flag (idempotent patch). r=dholbert 2016-11-05 02:57:06 +01:00
Mats Palmgren
6b8c4c8679 Bug 1300369 part 3 - [css-grid] Implement margin-box min-size clamping during track sizing. r=dholbert 2016-11-05 02:57:06 +01:00
Mats Palmgren
d523cbcf73 Bug 1300369 part 1 - Add two new ComputeSizeFlags flags e{I,B}ClampMarginBoxMinSize and associated reflow state flags to indicate we want margin-box min-size clamping in the indicated axis. r=dholbert 2016-11-05 02:57:06 +01:00
Cameron McCormack
32c930ba08 Bug 1288302 - Part 5: Make nsStyleImage use nsStyleImageRequest. r=bholley
This makes background-image, mask-image and border-image settable
from Servo.

Since imgRequestProxy resolution in nsStyleImages can now happen later than
at computed value setting time, and that resolution can fail,
nsStyleImage::GetImageData() might now return null.  So all of the users of
nsStyleImage now null check its result.

MozReview-Commit-ID: FMRUrC3SfOs
2016-11-02 16:58:32 +08:00
Daniel Holbert
5e2f87bff5 Bug 1269046 part 11: Add reftests for CSS Alignment of absolutely positioned flex children.
MozReview-Commit-ID: FpWhqZdyvBr
2016-10-31 08:59:40 -07:00
Daniel Holbert
f3a0064ac4 Bug 1269046 part 10: Skip the normal margin-adding codepath for abspos frames that undergo CSS Box Alignment (which takes care of margins). r=mats
MozReview-Commit-ID: Ha0o1rwFzE9
2016-10-31 08:59:40 -07:00
Daniel Holbert
0d6dda2ff4 Bug 1269046 part 9: Add a flag to control whether CSSAlignUtils::AlignJustifySelf() expands "auto" margins. r=mats
MozReview-Commit-ID: I0UdEIfiOqX
2016-10-31 08:59:40 -07:00
Daniel Holbert
8a46fab5d0 Bug 1269046 part 8: Rewrite CSSAlignUtils::AlignJustifySelf to use a single "flags" arg instead of boolean args. r=mats
MozReview-Commit-ID: 5loE21U7FF6
2016-10-31 08:59:40 -07:00
Daniel Holbert
5801c1a6f6 Bug 1269046 part 7: Give nsFlexContainerFrame a CSSAlignmentForAbsPosChild() implementation (to determine appropriate align enum for abspos children). r=mats
MozReview-Commit-ID: LFQfKPlR9Gv
2016-10-31 08:59:40 -07:00
Daniel Holbert
773cf89b1c Bug 1269046 part 6: Add a flags enum-class to customize FlexboxAxisTracker behavior. r=mats
Right now, there's only one flag in this new class (with no usages until a
later patch). This flag suppresses a hack, which otherwise makes us
transparently reverse the child list & flex axes in some circumstances, to
prevent bottom-to-top child ordering. (We don't want that hack when we're
dealing with individual abspos children, since it only makes things more
complicated.)

MozReview-Commit-ID: HYUf0vjlfiJ
2016-10-31 08:58:18 -07:00
Daniel Holbert
4c7bd3c17e Bug 1269046 part 5: If an abspos child's offset depends on CSS Box Alignment, ask nsContainerFrame for the alignment enum to use, and align with CSSAlignUtils. r=mats
Right now, this method has only one stub impl, in nsContainerFrame; a later
patch will add a more interesting (overriding) impl in nsFlexContainerFrame.

MozReview-Commit-ID: 3U3vTTX4vdm
2016-10-31 08:58:18 -07:00
Daniel Holbert
689d473b8d Bug 1269046 part 4: Set flags on nsPlaceholderFrame & ReflowInput to track abspos frames that need CSS Box Alignment to resolve static position. r=mats
(We'll react to the ReflowInput flags and do the actual CSS Box Alignment in a
later patch in this series.)

MozReview-Commit-ID: EZd7npWSzQI
2016-10-31 08:58:18 -07:00
Daniel Holbert
6512700680 Bug 1269046 part 3: Make a grid-specific comment more general, in CSSAlignUtils::AlignJustifySelf. r=mats
MozReview-Commit-ID: GZ35iZ2E1Iz
2016-10-31 08:58:18 -07:00
Daniel Holbert
ac46282aec Bug 1269046 part 2: Spin out a helper function to hold nsAbsoluteContainingBlock's code for resolving abspos offsets. r=mats
MozReview-Commit-ID: 5tvCIEhAsPH
2016-10-31 08:58:18 -07:00
Daniel Holbert
2a8bcc81e7 Bug 1269046 part 1: Spin out some grid alignment code into a helper method, in a new CSSAlignUtils class. r=mats
MozReview-Commit-ID: 1Eh2CreOLTC
2016-10-31 08:58:18 -07:00
Daniel Holbert
3903256ea3 Bug 1269045 part 3: Stop wrapping placeholder frames in anonymous flex items. r=mats
This patch also:
 * Removes some now-unnecessary code from nsFlexContainerFrame, which was for jumping from wrapped-placeholders to their out-of-flow frames (for DOM comparisons). This code is now unnecessary because placeholders won't be wrapped anymore.
 * Updates some reftests with abspos content to match the updated spec's expectations, with one marked as "fails" for the time being (until bug 1269046 implements css box alignment, which we need to render that test correctly).

MozReview-Commit-ID: 8canWfXk6Kf
2016-10-31 08:58:17 -07:00
Daniel Holbert
4bef1cf802 Bug 1269045 part 2: Separate out abspos placeholders when creating FlexItems, and give them a trivial reflow at container's content-box origin. r=mats
MozReview-Commit-ID: 5lXUsusLryC
2016-10-31 08:58:17 -07:00
Daniel Holbert
6195387be1 Bug 1269045 part 1: Adjust flex item "order"-sorting code to treat placeholder frames as <= anything they're compared against, including each other. r=mats
This patch makes the following specific changes:
 (1) Adds an early-return to both versions of the IsOrderLEQ function, to treat placeholder children as LEQ everything (including each other). This will tend to sort them to the beginning of the child list, which is unimportant but fine. More importantly, though: this means our "order"-sorting code won't reorder placeholders *with respect to each other* (since our sort algorithm is stable). So their painting order won't be affected by the "order" property, which is required by the spec.
 (2) Drops some nsPlaceholderFrame::GetRealFrameFor() calls -- they're unnecessary, since any placeholder frames will have prompted us to return earlier.

One caveat to (2): this patch does leave a few "nsPlaceholderFrame::GetRealFrameFor()" calls in place, *for the moment*.  These remaining calls are for handling placeholders that are wrapped, i.e. inside of anonymous flex items. These calls are still needed to avoid assertion-failures (i.e. to get a consistent ordering) at this point, but they'll be removed in a later patch in this same bug, when we stop wrapping placeholders in anonymous flex items.

MozReview-Commit-ID: 1R6NW30Kxgv
2016-10-31 08:58:17 -07:00
Phil Ringnalda
021e8e0cee Merge m-i to m-c, a=merge 2016-10-30 10:55:00 -07:00
Jonathan Watt
82b73296ed Bug 1280324, part 3 - Fix various nsDeviceContext::CreateRenderingContext to call CreateReferenceRenderingContext instead. r=edwin 2016-10-27 19:25:01 +01:00
Mats Palmgren
05a1e2c9a6 Bug 1305244 part 3 - [css-grid] Stop handling <flex> track min-sizing in layout since they can't occur anymore. r=dholbert 2016-10-29 01:30:10 +02:00
Mats Palmgren
d18b43c8b2 Bug 1228455 - [css-grid] Update the 'used flex fraction' for indefinite sizes to clamp flex factors less than 1 before dividing the base size (due to CSS Grid spec change). r=dholbert
CSS Grid spec change:
https://hg.csswg.org/drafts/rev/42427088d71f
2016-10-27 10:32:00 -04:00
Daniel Holbert
f6a19be2ac Bug 1313560: Undefine LoadImage in nsPluginFrame.h (alongside other undefines) to prevent windows.h macros from causing unified bustage in other files. rs=dmajor
MozReview-Commit-ID: FKMWw9cW87t
2016-10-28 05:59:17 -07:00
Phil Ringnalda
c38078f6a2 Backed out 12 changesets (bug 1269045, bug 1269046) as the most likely cause of Windows build bustage
CLOSED TREE

Backed out changeset 16db55b642a9 (bug 1269046)
Backed out changeset a0008dd33cf4 (bug 1269046)
Backed out changeset 75b58c4e61e6 (bug 1269046)
Backed out changeset fb7655f3e1cf (bug 1269046)
Backed out changeset 8088e5a9e6e3 (bug 1269046)
Backed out changeset eea6479452f0 (bug 1269046)
Backed out changeset eb4b52bf06ec (bug 1269046)
Backed out changeset 539db74e4a88 (bug 1269046)
Backed out changeset f57f9ac1435e (bug 1269045)
Backed out changeset 2162d5c9fb54 (bug 1269045)
Backed out changeset 7aa8199183fc (bug 1269045)
Backed out changeset 86a391e3e163 (bug 1269045)

MozReview-Commit-ID: HYL7Bh8l02E
2016-10-27 21:59:00 -07:00
Phil Ringnalda
f364a95090 Backed out changeset 4f928f174d21 (bug 1313560) for not actually fixing the problem
MozReview-Commit-ID: 4oDXzISkhdi
2016-10-27 21:57:49 -07:00
Daniel Holbert
c51a459e9c Bug 1313560: Undefine windows.h's LoadImage macro, to avoid bustage in nsImageFrame.cpp. r=dmajor
windows.h isn't directly included by nsImageFrame.cpp, but it may be pulled in via unified builds.

Landing on a CLOSED TREE to fix bustage.

MozReview-Commit-ID: 7QiM57dpYAd
2016-10-27 21:01:14 -07:00
Daniel Holbert
a6ab4069c5 Bug 1269046 part 7: Give nsFlexContainerFrame a CSSAlignmentForAbsPosChild() implementation (to determine appropriate align enum for abspos children). r=mats
MozReview-Commit-ID: LFQfKPlR9Gv
2016-10-27 18:58:26 -07:00
Daniel Holbert
7bc4cc7005 Bug 1269046 part 6: Add a flags enum-class to customize FlexboxAxisTracker behavior. r=mats
Right now, there's only one flag in this new class (with no usages until a
later patch). This flag suppresses a hack, which otherwise makes us
transparently reverse the child list & flex axes in some circumstances, to
prevent bottom-to-top child ordering. (We don't want that hack when we're
dealing with individual abspos children, since it only makes things more
complicated.)

MozReview-Commit-ID: HYUf0vjlfiJ
2016-10-27 18:58:26 -07:00
Daniel Holbert
16736df5ad Bug 1269046 part 5: If an abspos child's offset depends on CSS Box Alignment, ask nsContainerFrame for the alignment enum to use, and align with CSSAlignUtils. r=mats
Right now, this method has only one stub impl, in nsContainerFrame; a later
patch will add a more interesting (overriding) impl in nsFlexContainerFrame.

MozReview-Commit-ID: 3U3vTTX4vdm
2016-10-27 18:58:26 -07:00
Daniel Holbert
222438d58d Bug 1269046 part 4: Set flags on nsPlaceholderFrame & ReflowInput to track abspos frames that need CSS Box Alignment to resolve static position. r=mats
(We'll react to the ReflowInput flags and do the actual CSS Box Alignment in a
later patch in this series.)

MozReview-Commit-ID: EZd7npWSzQI
2016-10-27 18:58:26 -07:00
Daniel Holbert
d560c9d83e Bug 1269046 part 3: Make a grid-specific comment more general, in CSSAlignUtils::AlignJustifySelf. r=mats
MozReview-Commit-ID: GZ35iZ2E1Iz
2016-10-27 18:58:26 -07:00