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

13008 Коммитов

Автор SHA1 Сообщение Дата
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
Cameron McCormack 13f86cd932 Merge backout. 2016-11-01 08:43:23 +08:00
Cameron McCormack 02f1de5bbd Back out a0488e9c0024..5ebcedea1fa5 (bug 1288302 and bug 1310463) for Talos RSS regressions.
MozReview-Commit-ID: JB5uwDeO0We
2016-11-01 08:42:49 +08:00
Cameron McCormack 74fdb2a2bf 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-10-20 08:36:25 +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 8377010e6a Merge m-c to m-i
MozReview-Commit-ID: Ihd0iacfcIW

--HG--
rename : devtools/.eslintrc => devtools/.eslintrc.js
2016-10-18 19:45:02 -07:00
Phil Ringnalda 6c91017f20 Merge m-i to m-c, a=merge
MozReview-Commit-ID: FA9OZyjP59N
2016-10-18 19:36:18 -07:00
Mats Palmgren 2c24c06a3b Bug 1302541 part 5 - [css-grid] Back-compute percentages when calculating the number of auto-fill/fit tracks. r=dholbert 2016-10-19 04:20:48 +02:00
Mats Palmgren 5e3a5a5414 Bug 1302541 part 4 - [css-grid] Back-compute percentages for the intrinsic block size. r=dholbert 2016-10-19 04:20:48 +02:00
Mats Palmgren a0ff5cb15a Bug 1302541 part 3 - [css-grid] Back-compute percentages for the intrinsic inline size. r=dholbert 2016-10-19 04:20:48 +02:00
Mats Palmgren e54565d5d4 Bug 1302541 part 2 - [css-grid] Propagate track state bits and store the union of all tracks in each axis. r=dholbert 2016-10-19 04:20:48 +02:00
Mats Palmgren 8b31c38aac Bug 1302541 part 1 - [css-grid] Add a track state bit for percentage min-sizing that is treated as 'auto'. r=dholbert 2016-10-19 04:20:48 +02:00
Mats Palmgren 32e97d17ca Bug 1309407 - [css-grid] Apply min/max-sizes after stretching <flex> grid items with an indefinite CB size and re-run the algo with a definite size if the grid size changed. r=dholbert 2016-10-19 04:20:48 +02:00
Markus Stange 6381db9b78 Bug 1310900 - Speed up ScrollFrameHelper::GetScrolledRect for the case where there is no overflow. r=mattwoodrow
MozReview-Commit-ID: 35CWyjlkfsg

--HG--
extra : rebase_source : 93fad406dfd71e71e893f79d9cbb56ef49a98388
2016-10-18 11:12:01 -04:00
Xidorn Quan 3c3f76a8e1 Bug 1309868 part 2 - Use const nsIContent pointer in some layout utils. r=heycam
MozReview-Commit-ID: 5GMave4FS48

--HG--
extra : source : 60d203eaa11b53f14a8c3736498f991d8e3615b1
2016-10-18 15:29:03 +11:00
Carsten "Tomcat" Book d6850a3a86 merge mozilla-inbound to mozilla-central a=merge 2016-10-17 11:19:02 +02:00
Jorg K 4bb58198d9 Bug 1263357 - When the caret is placed after visible line break, associate caret with frame on the next line instead. r=mats
--HG--
extra : amend_source : a0068b0c841189204e07cc6c0a19f83d5dac8da3
2016-10-14 14:21:00 -04:00
Brad Werth 76fb14b998 Bug 1235922 Part 4: Add support for "align-content: space-evenly" to flexbox layout. r=mats
MozReview-Commit-ID: 3ETuPrIURJ3

--HG--
extra : rebase_source : 95d4d7029660086b0bf6380b98efe57e11d4be83
2016-10-14 17:17:33 -07:00
Daniel Holbert 9fd00fc1f2 Bug 1235922 Part 2: Add support for "justify-content: space-evenly" to flexbox layout. r=mats
MozReview-Commit-ID: 6Am15EIVAXH

--HG--
extra : rebase_source : f0500b5737f8834765707724c5204bc2ab5b40d1
2016-10-14 17:16:00 -07:00
Brad Werth 8bd396d59a Bug 1235922 Part 1: Introduce a helper-function to share code for justify-content and align-content space-around and space-between in flexbox layout. r=mats
MozReview-Commit-ID: tncRJiojh

--HG--
extra : rebase_source : 279c790926f89b1942069f8cc4eeb70fe58eaf65
2016-10-14 17:23:36 -07:00
Botond Ballo 4df075436c Bug 1293125 - Work around a layout issue that causes StickyScrollContainer::GetScrollRanges() to compute malformed rects. r=mstange
MozReview-Commit-ID: IClxdc8tfBh

--HG--
extra : rebase_source : 1be980c68b93244b1cf910335f3693c682c2ba22
2016-10-07 19:31:14 -04:00
Brad Werth 8455bc616a Bug 1310015: Change MainAxisTracker to consistently use NS_STYLE_JUSTIFY constants. r=mats
MozReview-Commit-ID: F8VfIuZJqFa

--HG--
extra : rebase_source : c013d6b4e25daf8dbcb010720eb2ea42ffd0ae35
2016-10-13 14:20:48 -07:00
Carsten "Tomcat" Book b474cb6353 merge mozilla-inbound to mozilla-central a=merge 2016-10-14 11:59:12 +02:00
Ehsan Akhgari 13850f4183 Bug 1309628 - Hide support for dispatching selection events on the contents of text controls behind a pref; r=mystor
This patch adds a pref to control whether we dispatch the selection
events for changes in the contents of input and textarea text controls.
The spec for this feature hasn't been written yet, and we need to exclude
this part of the selection API from the part we want to ship.
2016-10-13 16:52:07 -04:00
L. David Baron b0b5ff896a Bug 1307853 - Add web platform test (in mochitest suite). r=mats
This test failed with the initial (non-working) version of the patch,
and passes with the patch.

MozReview-Commit-ID: IPmd7Yh604Z
2016-10-13 11:41:52 -07:00
L. David Baron b2d6dd5976 Bug 1307853 - Set inline-resize flag when the content-box size is changing (in addition to border-box). r=mats
MozReview-Commit-ID: FjUwuQB8g5j
2016-10-13 11:41:52 -07:00
L. David Baron 5ed8356810 Some updates to the data for './mach file-info bugzilla-component' in layout/generic, partly for bug 1277129. No review.
MozReview-Commit-ID: 8gSfPy0eKIB
2016-10-13 11:41:51 -07:00
Michael Layzell 7f30ef3465 Bug 1231923 - Enable selection events for documents with the System Principal, r=ehsan
MozReview-Commit-ID: J9UoI9Pdu48
2016-10-13 13:07:17 -04:00
Julian Descottes 86fd0737d8 Bug 1308993 - aboutdebugging remove align-items: self-start;r=erahm
MozReview-Commit-ID: 7d054lVgwdt

--HG--
extra : rebase_source : 9c84df5b59f3fe0de661fc5485beb9cb33c25caa
2016-10-13 16:42:26 +02:00
Kartikaya Gupta fa397ea897 Bug 1304689 - Ensure frame reconstructions don't clobber a 'stronger' scroll origin with a 'weaker' one. r=tnikkel
If, within a single refresh driver tick, the scroll position is updated by JS
explicitly, and then subsequently also updated by a frame reconstruction, the
scroll origin from the former (nsGkAtoms::other) can get clobbered by the latter
(to nsGkAtoms::restore). The restore scroll origin is "weaker" in that it can
be ignored by the APZ code in some circumstances. This is undesirable because
it means the JS scroll update also gets ignored. This patch ensures that when
setting the scroll origin we don't do this clobbering of stronger origins with
weaker origins.

MozReview-Commit-ID: DA4EHp1Debu

--HG--
extra : rebase_source : 99fd1f91698a605792b2a622450f1ff31bc89101
2016-10-11 09:36:22 -04:00
Carsten "Tomcat" Book 802e7b16f9 merge mozilla-inbound to mozilla-central a=merge 2016-10-13 11:53:49 +02:00
Daniel Holbert 5ea7b37dd6 Bug 1090031: Apply CSS 'align-content' in flex containers if they *could* wrap (rather than if they *have* wrapped). r=mats
The spec says that single-line flex containers should stretch their one flex
line to the flex container's cross size, and should ignore 'align-content'.

Initially, the spec defined 'single-line' to include any flex container that
happens to have only 1 line (even if it's got 'flex-wrap:wrap' or
'wrap-reverse'). But later, the term 'single-line' was intentionally redefined
to *only* include flex containers that have 'flex-wrap: nowrap'.  So, instead
of checking the line-count, we should instead check 'flex-wrap', when deciding
whether to stretch our one line & ignore 'align-content'.


MozReview-Commit-ID: D2ZMIBS16ui

--HG--
extra : rebase_source : 835a64e0f9cdaa375f8e57f55ffe5b011525cbeb
2016-10-12 09:04:03 -07:00
Wes Kocher 5c9e53976d Backed out changeset 37e0c017b268 (bug 1090031) for reftest failures a=backout 2016-10-12 14:46:23 -07:00
Daniel Holbert 7c6df4e0a1 Bug 1090031: Apply CSS 'align-content' in flex containers if they *could* wrap (rather than if they *have* wrapped). r=mats
The spec says that single-line flex containers should stretch their one flex
line to the flex container's cross size, and should ignore 'align-content'.

Initially, the spec defined 'single-line' to include any flex container that
happens to have only 1 line (even if it's got 'flex-wrap:wrap' or
'wrap-reverse'). But later, the term 'single-line' was intentionally redefined
to *only* include flex containers that have 'flex-wrap: nowrap'.  So, instead
of checking the line-count, we should instead check 'flex-wrap', when deciding
whether to stretch our one line & ignore 'align-content'.


MozReview-Commit-ID: D2ZMIBS16ui

--HG--
extra : rebase_source : c600a80b96df3c937f2a56a5e0ed1825750234e0
2016-10-12 09:04:03 -07:00
cku 43780a1730 Bug 1299715 - Part 8. Fix typo in comment of GetVisualOverflowRect. r=mstange
MozReview-Commit-ID: 6xKBK7jXEZ6

--HG--
extra : rebase_source : 660f31c3c053911439c27450f948a033a3e29034
2016-10-07 15:15:44 +08:00