Commit graph

376 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
e9ae3b0907 Bug 1527410 - Use Rust sizes for flex-basis, width, height, and their min/max properties. r=jwatt
Really sorry for the size of the patch :(

Only intentional behavior change is in the uses of HasLengthAndPercentage(),
where it's easier to do the right thing. The checks that used to check for
(IsCalcUnit() && CalcHasPercentage()) are wrong since bug 957915.

Differential Revision: https://phabricator.services.mozilla.com/D19553
2019-02-15 03:59:31 +01:00
Emilio Cobos Álvarez
12867b1a3f Bug 1525371 - Kill ComputedStyle::mPresContext, move the pointer to the frame instead. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D18734
2019-02-07 11:15:36 +01:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Ting-Yu Lin
6cf6eb81f5 Bug 1515192 - Replace handcrafted FrameChildListIDs class with EnumSet. r=mats
The following APIs are changed.
1. Contains() needs to become contains(). (EnumSet's methods have lowercase names.)
2. Use list constructor rather than "|" like a plain enum.
3. Use operator+= instead of operator|=.

Differential Revision: https://phabricator.services.mozilla.com/D14908

--HG--
extra : moz-landing-system : lando
2018-12-19 00:50:09 +00:00
Emilio Cobos Álvarez
4591031b65 Bug 1513012 - Move overflow to use cbindgen. r=heycam
It's one of the most annoying / hacky mako bits we have.

Differential Revision: https://phabricator.services.mozilla.com/D14084
2018-12-11 03:07:08 +01:00
Cameron McCormack
1db3f9da78 Bug 1512716 - Re-indent NS_QUERYFRAME macros after clang-format. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D13995

--HG--
extra : moz-landing-system : lando
2018-12-07 20:00:18 +00:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Mats Palmgren
d1e5beda37 (no bug) - Add a couple of 'clang-format off' code comments to preserve formatting for readability. r=me 2018-11-21 22:05:20 +01:00
Emilio Cobos Álvarez
7cefd0df6a Bug 1507127 - Move the page-break-{before,after} properties to not use mako. r=heycam
And respect the computed value of `left` / `right` / etc.

Differential Revision: https://phabricator.services.mozilla.com/D11872

--HG--
extra : moz-landing-system : lando
2018-11-15 08:15:13 +00:00
Boris Chiou
09a7c9a305 Bug 1496558 - Part 1: Store the correct computed values for keywords for sizing properties r=mats
In order to get the correct computed value of these keywords, we have to
make sure we store the correct computed values in sizing properties in
both inline axis and block axis.

-moz-max-content and -moz-min-content should behave as the property's
initial value in block axis. -moz-fit-content and -moz-available are not
supported in block axis, so we also treat them as initial values.

Differential Revision: https://phabricator.services.mozilla.com/D8290

--HG--
extra : moz-landing-system : lando
2018-10-16 19:38:41 +00:00
Mats Palmgren
11be0f7bd9 Bug 1490730 part 1 - [css-grid] Static position should use content-box, not padding-box. r=dholbert 2018-09-15 01:30:18 +02:00
Zhang Junzhi
7a64d2f663 Bug 1490611 - physical to logical name refactor: DISPLAY_*_WIDTH to DISPLAY_*_INLINE_SIZE(as well as the relevant struct in the macro contents) r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D5657

--HG--
extra : rebase_source : af0fc623d0b5d5e575bb03b08576709512bac4f3
2018-09-12 12:35:47 +00:00
Mats Palmgren
df48156d1e Bug 1489770 - Don't convert InlineBreak::Before reflow status to Incomplete unless we know the child frame is splittable. r=dholbert 2018-09-11 20:07:28 +02:00
Mats Palmgren
97273bf8d8 Bug 1489153 - Push any child next-in-flows in our principal list to OverflowList before starting our reflow. r=dholbert 2018-09-11 20:07:28 +02:00
Gerald Squelart
7927ab927e Bug 1470462 - contain:size for nsGridContainerFrame - r=dholbert
When contain:size is set for a grid container, ignore sizes from children when
computing own size during layout.

Differential Revision: https://phabricator.services.mozilla.com/D4429

--HG--
rename : layout/reftests/w3c-css/submitted/contain/contain-size-flex-001-ref.html => layout/reftests/w3c-css/submitted/contain/contain-size-grid-001-ref.html
rename : layout/reftests/w3c-css/submitted/contain/contain-size-flex-001.html => layout/reftests/w3c-css/submitted/contain/contain-size-grid-001.html
extra : moz-landing-system : lando
2018-09-11 00:00:05 +00:00
Mihir Iyer
4751922915 Bug 1311892 - Implement <overflow-position> 'safe'/'unsafe' for absolutely positioned boxes in grid and flexbox. r=dholbert
MozReview-Commit-ID: 1xKmq7KFAM4

--HG--
extra : rebase_source : 64c143d908d31fa9bee522e4995b29ddf67749ca
2018-07-19 12:30:48 -07:00
Andi-Bogdan Postelnicu
5e3e0d4498 Bug 1453795 - Layout - Initialize member fields in classes/ structures. r=dbaron 2018-07-12 09:42:14 +03:00
Brad Werth
d05658dbf1 Bug 1468416 Part 1: Make nsGridContainerFrame::GetGridFrameWithComputedInfo use the same code to find the grid container frame as used by the layout algorithm itself. r=mats
MozReview-Commit-ID: 85GeT1MOApS

--HG--
extra : rebase_source : c45ca3129fac46a61025e41e2d5dd508a955223b
2018-06-14 16:35:42 -07:00
Ciure Andrei
97d0135158 Backed out 2 changesets (bug 1468416) for failing nsGridContainerFrame CLOSED TREE
Backed out changeset f6f3c67e4d33 (bug 1468416)
Backed out changeset 55e1e865e626 (bug 1468416)
2018-06-22 21:37:15 +03:00
Brad Werth
0cb429aae8 Bug 1468416 Part 1: Make nsGridContainerFrame::GetGridFrameWithComputedInfo use the same code to find the grid container frame as used by the layout algorithm itself. r=mats
MozReview-Commit-ID: 85GeT1MOApS

--HG--
extra : rebase_source : a34b93ca0182af46246d6345af30914876a92207
2018-06-14 16:35:42 -07:00
Mats Palmgren
3f4e2f6df4 Bug 1467239 - [css-grid] Null-check GetContentInsertionFrame() return value. r=emilio 2018-06-07 17:41:20 +02:00
Mats Palmgren
81f9403270 Bug 1465290 part 3 - [css-grid-2] Add frame bits to nsGridContainerFrame that are set if it has an item that is a subgrid in that axis. r=dholbert 2018-06-05 21:46:28 +02:00
Mats Palmgren
1bc6740ba2 Bug 1465290 part 2 - [css-grid-2] Add bits to the GridItemInfo state that are set if the item is a subgrid in the container's axis. r=dholbert 2018-06-05 21:46:28 +02:00
Mats Palmgren
59ec467d3a Bug 1465290 part 1 - [css-grid-2] Add frame bits to nsGridContainerFrame that is set if it's a subgrid in an axis. r=dholbert 2018-06-05 21:46:28 +02:00
Mats Palmgren
680ca035e7 Bug 1464883 - [css-grid] Remove a redundant ResolveGapToLength call. r=dholbert
mGridGap is already initialized in nsGridContainerFrame::Tracks::Initialize.
2018-06-04 23:18:57 +02:00
Mats Palmgren
88c6f4d992 Bug 1464882 - [css-grid] Pass the content size relevant for the specific axis rather than requiring both only to discard one value. r=dholbert 2018-06-04 23:18:56 +02:00
Mats Palmgren
79a2430c01 Bug 1462854 part 2 - [css-grid] Handle [max-]width/height percentages in min-size contributions according to spec. r=dholbert
Background:
https://github.com/w3c/csswg-drafts/issues/2674

calc() percentages for replaced boxes are still not according to spec.
Bug 1463700 will fix that.
2018-06-02 00:08:26 +02:00
Emilio Cobos Álvarez
fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Mats Palmgren
32dff95bd8 Bug 1458902 - [css-grid] Re-resolve row-gap against the sum of row track sizes for auto-sized grid containers. r=dholbert
Per CSSWG resolution in:
https://github.com/w3c/csswg-drafts/issues/1921#issuecomment-342269371
2018-05-18 21:09:21 +02:00
Mats Palmgren
7db87acde1 Bug 1452383 part 2 - [css-grid] Remove local enum LineRangeSide and use LogicalSide instead (idempotent patch). r=dholbert 2018-05-05 22:21:17 +02:00
Mats Palmgren
f9c9cf6df6 Bug 1452383 part 1 - [css-grid] Use LogicalAxis instead of passing member pointers (idempotent patch). r=dholbert 2018-05-05 22:21:17 +02:00
Mats Palmgren
3518ef2a3e Bug 1452368 part 1 - [css-grid] Fix off-by-1 calculation in line clamping limit for auto-placed items. r=dholbert 2018-05-05 22:21:17 +02:00
Mats Palmgren
8e30369644 Bug 1398482 part 2 - [css-grid][css-flexbox][css-multicol] Add 'row-gap' and 'gap' properties; make 'grid-[column|row]-gap' and 'grid-gap' alias the respective unprefixed properties (Gecko part). r=dholbert 2018-04-24 01:52:51 +02:00
Sebastian Hengst
0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon
a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Mats Palmgren
c0348042e9 Bug 1434478 part 6 - Propagate a percentage basis to nsIFrame::IntrinsicISizeOffsets for resolving padding/margin. r=dholbert
This is needed only for CSS Grid since in other cases we're
only using IntrinsicISizeOffsets in the inline-axis and
the percentage basis is always indefinite for *intrinsic
sizing*.  When calculating the intrinsic size of grid items
in the grid container's block axis however, we do have
a definite size for the grid area in the inline-axis and it
should be used per:
https://drafts.csswg.org/css-grid/#algo-overview
"2. Next, the track sizing algorithm resolves the sizes of
the grid rows, using the grid column sizes calculated in
the previous step."

(Percentage padding/margin for grid items is always resolved
against the grid area's inline-size nowadays.)
2018-04-10 00:16:58 +02:00
Mats Palmgren
7674d544b7 Bug 1434478 part 2 - Stop back-computing percentage padding/margin when the percentage basis is indefinite. Treat them as zero sized instead. r=dholbert 2018-04-10 00:16:57 +02:00
Mats Palmgren
004a0a318d Bug 1434478 part 1 - [css-grid] Stop back-computing percentage grid gaps when the percentage basis is indefinite. Treat them as zero sized instead. r=dholbert 2018-04-10 00:16:57 +02:00
Jonathan Watt
ef1290712d Bug 1452170 follow-up - Fix Windows unified build bustage by adding missing AutoRestore.h includes. r=me on CLOSED TREE 2018-04-09 10:21:42 +01:00
Mats Palmgren
5426506598 Bug 1447166 part 4 - [css-grid] Make InitializeItemBaselines iterate the GridItemInfo array instead of using a CSSOrderAwareFrameIterator (idempotent change). r=dholbert 2018-03-24 23:03:44 +01:00
Mats Palmgren
5a7c9748bb Bug 1447166 part 3 - [css-grid] Switch from stable to unstable sort in grid track ResolveIntrinsicSize function. r=dholbert
No need to use a stable sort here since track sizing doesn't
depend on which order we process items (other than span length).
2018-03-24 23:03:44 +01:00
Mats Palmgren
383cd0da9f Bug 1447166 part 2 - [css-grid] Make ResolveIntrinsicSize iterate the GridItemInfo array instead of using a CSSOrderAwareFrameIterator (idempotent change). r=dholbert 2018-03-24 23:03:43 +01:00
Mats Palmgren
b71cc2ba37 Bug 1447166 part 1 - [css-grid] Make FindUsedFlexFraction iterate the GridItemInfo array instead of using a CSSOrderAwareFrameIterator (idempotent change). r=dholbert 2018-03-24 23:03:43 +01:00
Mats Palmgren
29ae84491a Bug 1447059 - [css-grid] Remove some redundant checks regarding eClampMarginBoxMinSize (idempotent change). r=dholbert 2018-03-24 23:03:43 +01:00
Emilio Cobos Álvarez
e341b20ec4 Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE
MozReview-Commit-ID: JPopq0LudD
2018-03-22 20:06:24 +01:00
Emilio Cobos Álvarez
5dd797f154 Back out changeset b683bb3f22a1 (Bug 1447483) for not landing with all the files. r=me on a CLOSED TREE
This reverts commit 1808914126bb9f9e4a82d2c3d7ac961885fe7d62.

MozReview-Commit-ID: 5skESBseEvo
2018-03-22 20:05:22 +01:00
Emilio Cobos Álvarez
ca5ac79cca Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt
MozReview-Commit-ID: JPopq0LudD
2018-03-22 19:48:42 +01:00
Emilio Cobos Álvarez
f7522ae728 Bug 1447358: Unifdef the old style system code. r=jwatt
Summary:
This has been automatically generated using:

  http://dotat.at/prog/unifdef/

And:

find $OBJDIR -type f -name '*.h' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

find $OBJDIR -type f -name '*.cpp' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

MozReview-Commit-ID: I4NdKqbMXzJ

Reviewers: jwatt

Bug #: 1447358

Differential Revision: https://phabricator.services.mozilla.com/D779
2018-03-21 10:20:34 +01:00
Gurzau Raul
70be85b9cd Merge inbound to mozilla-central. a=merge 2018-03-16 19:53:35 +02:00
Mats Palmgren
259eae8a43 Bug 1445230 - [css-grid] Use IntegerRange to make iterating over LineRange more ergonomic (idempotent change). r=dholbert 2018-03-16 12:11:38 +01:00