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

12738 Коммитов

Автор SHA1 Сообщение Дата
Boris Chiou e158ad1169 Bug 1339672 - Support multiple track sizes for grid-auto-{columns|rows}. r=emilio,mats
Support `<track-size>+` on the implicit track sizing properties,
grid-auto-columns and grid-auto-rows.

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

--HG--
extra : moz-landing-system : lando
2019-08-06 18:32:16 +00:00
Emilio Cobos Álvarez 9e60b0219a Bug 1571537 - Don't write manual glue code for the order property. r=boris
The default code works just as well.

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

--HG--
extra : moz-landing-system : lando
2019-08-06 12:08:47 +00:00
Emilio Cobos Álvarez bbb4b8dac6 Bug 1519958 - followup: Fix bustage in 32-bit builds and rust unit tests. r=me
CLOSED TREE
2019-08-05 22:53:35 +02:00
Emilio Cobos Álvarez 30fc8c8c4d Bug 1519958 - Improve stack size of grid templates and re-enable style struct size assertions disabled in the previous patch. r=boris
This re-enables the assertion which was disabled on the previous patch by doing
a bit of boxing around.

Differential Revision: https://phabricator.services.mozilla.com/D36599
2019-08-05 22:13:33 +02:00
Emilio Cobos Álvarez 1f3d6c04f2 Bug 1519958 - Refactor grid types to preserve repeat() at computed value time and use cbindgen. r=mats,boris
I'm _really_ sorry for the size of the patch. I tried to do this in two steps
but it was a lot of work and pretty ugly.

This patch makes us use cbindgen for grid-template-{rows,columns}, in order to:

 * Make us preserve repeat() at computed-value time. This is per spec since
   interpolation needs to know about repeat(). Except for subgrid, which did the
   repeat expansion at parse-time and was a bit more annoying (plus it doesn't
   really animate yet so we don't need it to comply with the spec).

 * Tweaks the WPT tests for interpolation to adopt the resolution at:
   https://github.com/w3c/csswg-drafts/issues/3503.

Trade-off here, as this patch stands, is that this change makes us use less
long-living memory, since we expand repeat() during layout, but at the cost of a
bit of CPU time during layout (conditional on the property applying though,
which wasn't the case before). It should be very easy to store a cached version
of the template, should this be too hot (I expect it isn't), or to change the
representation in other ways to optimize grid layout code if it's worth it.

Another trade-off: I've used SmallPointerArray to handle line-name merging,
pointing to the individual arrays in the style data, rather than actually
heap-allocating the merged lists. This would also be pretty easy to change
should we measure and see that it's not worth it.

This patch also opens the gate to potentially improving memory usage in some
other ways, by reference-counting line-name lists for example, though I don't
have data that suggests it is worth it.

In general, this patch makes much easier to tweak the internal representation of
the grid style data structures. Overall, I think it's a win, the amount of magic
going on in that mako code was a bit huge; it took a bit to wrap my head around
it.

This patch comments out the style struct size assertions. They will be
uncommented in a follow-up patch which contains some improvements for this type,
which are worth getting reviewed separately.

Also, this patch doesn't remove as much code as I would've hoped for because of
I tried not to change most of the dom/grid code for inspector, but I think a
fair bit of the nsGridContainerFrame.cpp code that collects information for it
can be simplified / de-copy-pasted to some extent. But that was a pre-existing
problem and this patch is already quite massive.

Differential Revision: https://phabricator.services.mozilla.com/D36598
2019-08-05 22:13:21 +02:00
Emilio Cobos Álvarez 6515ac7225 Bug 1571151 - Expand and simplify a macro that's not very useful. r=boris
Skip whitespace upfront rather than on each individual branch. The only
difference in behavior is that we would've consumed some extra whitespace in the
error case, but I don't think that matters at all.

We were consuming some extra whitespace as well after the close path command for
example, which wasn't parsing anything.

Depends on D40538

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

--HG--
extra : moz-landing-system : lando
2019-08-03 10:05:14 +00:00
Emilio Cobos Álvarez 8374c113aa Bug 1571151 - Deindent a bit SVG path parsing code. r=boris
None cannot be returned, since we just called peek() and it returned something.

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

--HG--
extra : moz-landing-system : lando
2019-08-03 10:01:58 +00:00
Emilio Cobos Álvarez 0f118f30e5 Bug 1404140 - Remove the GetCSNeedsLayoutFlush flag, as it is unneeded now. r=heycam
MANUAL PUSH: Would need to reorder the stack manually (https://bugzilla.mozilla.org/show_bug.cgi?id=1481539)

Differential Revision: https://phabricator.services.mozilla.com/D40300
2019-08-03 04:10:55 +02:00
Emilio Cobos Álvarez b38e7248ab Bug 1404140 - Don't flush layout for layout-dependent properties if we know that it won't affect the result. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40299
2019-08-03 04:09:13 +02:00
Boris Chiou f7b833b7ce Bug 1559231 - Make offset-anchor animatable. r=birtles
Per the spec issue, https://github.com/w3c/csswg-drafts/issues/3482,
we update the wpt to keep the percentage in `calc()` for `offset-anchor`.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 20:12:40 +00:00
Boris Chiou b91b90c199 Bug 1559231 - Support offset-anchor. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39432

--HG--
extra : moz-landing-system : lando
2019-08-02 20:12:38 +00:00
Brindusan Cristian 0b3e26149c Backed out 2 changesets (bug 1559231) for rusttests build bustages. CLOSED TREE
Backed out changeset d47d9f4bf9a9 (bug 1559231)
Backed out changeset 50f92d01c47a (bug 1559231)
2019-08-02 21:55:37 +03:00
Boris Chiou 4dbc9ab7ef Bug 1559231 - Make offset-anchor animatable. r=birtles
Per the spec issue, https://github.com/w3c/csswg-drafts/issues/3482,
we update the wpt to keep the percentage in `calc()` for `offset-anchor`.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 00:47:09 +00:00
Boris Chiou 9463547bb3 Bug 1559231 - Support offset-anchor. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39432

--HG--
extra : moz-landing-system : lando
2019-08-02 00:43:11 +00:00
Emilio Cobos Álvarez d93f6419d8 Bug 1570721 - Move the overrides to a separate struct in nsPresContext. r=heycam
Just so that we can keep track of these together.

Differential Revision: https://phabricator.services.mozilla.com/D40247
2019-08-02 15:18:24 +02:00
Emilio Cobos Álvarez e288006e4e Bug 1570721 - Simplify emulated medium setup in nsPresContext. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40246
2019-08-02 15:18:19 +02:00
Emilio Cobos Álvarez 864a54dff0 Bug 1570182 - Fix cursor prefixed aliases to do the right thing. r=boris
This was an oversight in bug 1520154. We kept the -moz- version in the specified
value but not the computed value.

That's a very peculiar way of making aliases work. This makes them work
consistently as many other aliases instead.

Also, add an assert that would've caught this much much earlier.

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

--HG--
extra : moz-landing-system : lando
2019-07-31 18:18:21 +00:00
Emilio Cobos Álvarez caf746c853 Bug 1569911 - Fix some issues when importing the previous patches in Gecko.
MANUAL PUSH: Manual cherry-pick of Servo code.
2019-07-30 12:25:12 +02:00
Simon Sapin ff58da4ccc Bug 1569911 - Servo: Generate apis.html and css-properties.json for docs as part of crates' build scripts. r=nox
… rather than as an extra step after `cargo doc`.
This helps always using the correct set of CSS properties
(for layout 2013 v.s. 2020).

Cherry-picked from: https://github.com/servo/servo/pull/23856
2019-07-30 12:24:10 +02:00
Simon Sapin df960afd6f Bug 1569911 - Stylo: replace product={gecko,servo} with engine={gecko,servo-2013,servo-2020}. r=emilio,nox
Renaming the variable helped make sure I looked at every use.

Cherry-picked from: https://github.com/servo/servo/pull/23856
2019-07-30 12:24:07 +02:00
Simon Sapin 5448b8c036 Bug 1569911 - Servo: Auto-generate CSSStyleDeclaration.webidl for CSS properties based on the style crate. r=nox
Cherry-picked from https://github.com/servo/servo/pull/23856
2019-07-30 12:23:51 +02:00
Mike Hommey bf3db9e84f Bug 1569331 - Update bindgen to 0.51. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D39580

--HG--
extra : moz-landing-system : lando
2019-07-27 00:36:18 +00:00
Boris Chiou 0d2240d1bd Bug 1568615 - Accept percentage for shape-image-threshold. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39241

--HG--
extra : moz-landing-system : lando
2019-07-24 21:37:22 +00:00
Emilio Cobos Álvarez 8f9891381d Bug 1568446 - followup: Properly refcount-log UniqueArcs created with new_uninitialized(). 2019-07-24 13:44:49 +02:00
Emilio Cobos Álvarez 8e87a20fb9 Bug 1568446 - Don't insta-free in UniqueArc::assume_init. r=SimonSapin
Also sent to https://github.com/servo/servo/pull/23843.
2019-07-24 12:39:15 +02:00
Simon Sapin da9e1d3b0e Bug 1568446 - Replace uses of mem::uninitialized with MaybeUninit. r=emilio
Cherry-picked from: https://github.com/servo/servo/pull/23824
2019-07-24 12:39:11 +02:00
Simon Sapin b6cef5cba9 Bug 1568446 - Add UniqueArc::new_uninit, UniqueArc::assume_init. r=emilio
Cherry-picked from: https://github.com/servo/servo/pull/23824
2019-07-24 12:39:06 +02:00
Emilio Cobos Álvarez 42fd1a62a1 Bug 1568083 - Fix servo build and rustfmt / tidy recent changes. 2019-07-23 02:18:36 +02:00
Emilio Cobos Álvarez 558d3a5cc2 Bug 1568083 - Fix a warning in Servo builds by moving a macro to where it's used. 2019-07-23 02:18:35 +02:00
Patrick Walton b65fc89d31 Bug 1568083 - WebRender units are no longer reexported. r=emilio
This cherry-picks changes from Servo PR #23516.
2019-07-23 02:18:35 +02:00
Emilio Cobos Álvarez 8f98d46196 Bug 1568083 - Servo doesn't still support backdrop-filter.
This is a previous build fix that I forgot to sync to Gecko.
2019-07-23 02:18:34 +02:00
Bastien Orivel f8a37fc9d4 Bug 1568083 - Update rayon in the style system. r=emilio
As a bonus this also removes one version of crossbeam-utils

This cherry-picks Servo PR #23630.


--HG--
rename : third_party/rust/crossbeam-deque-0.2.0/LICENSE-APACHE => third_party/rust/crossbeam-queue/LICENSE-APACHE
2019-07-23 02:18:33 +02:00
Mihai Alexandru Michis e637325c0e Merge mozilla-central to mozilla-inbound. a=merge
--HG--
extra : amend_source : f93ba2cbe8a0ea251a8c95dd565117a109e25a91
2019-07-20 01:23:23 +03:00
longsonr 15c69a978b Bug 1353164 Part 2 - Change dominant-baseline from reset to inherit r=heycam
--HG--
extra : source : 5c8a0f41b86df61e7a1ef26b64fb355b5a11ab7d
2019-07-19 12:57:54 +01:00
Bogdan Tara e34bf750c9 Backed out changeset 5c8a0f41b86d (bug 1353164) for test_css-properties-db.js failures CLOSED TREE 2019-07-19 16:50:35 +03:00
longsonr 1335355ed5 Bug 1353164 Part 2 - Change dominant-baseline from reset to inherit r=heycam 2019-07-19 12:57:54 +01:00
Charlie Marlow f66a867469 Bug 1567282: renamed text-decoration-width to text-decoration-thickness r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D38586

--HG--
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-001.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-001.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-computed.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-computed.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-initial.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-initial.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-invalid.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-invalid.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-linethrough-001.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-linethrough-001.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-overline-001.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-overline-001.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-scroll-001.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-scroll-001.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-underline-001.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-underline-001.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-valid.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-valid.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-vertical-001.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-vertical-001.html.ini
rename : testing/web-platform/meta/css/css-text-decor/text-decoration-width-vertical-002.html.ini => testing/web-platform/meta/css/css-text-decor/text-decoration-thickness-vertical-002.html.ini
rename : testing/web-platform/meta/css/css-typed-om/the-stylepropertymap/properties/text-decoration-width.html.ini => testing/web-platform/meta/css/css-typed-om/the-stylepropertymap/properties/text-decoration-thickness.html.ini
rename : testing/web-platform/tests/css/css-text-decor/reference/text-decoration-width-001-notref.html => testing/web-platform/tests/css/css-text-decor/reference/text-decoration-thickness-001-notref.html
rename : testing/web-platform/tests/css/css-text-decor/reference/text-decoration-width-green-rect-ref.html => testing/web-platform/tests/css/css-text-decor/reference/text-decoration-thickness-green-rect-ref.html
rename : testing/web-platform/tests/css/css-text-decor/reference/text-decoration-width-scroll-001-ref.html => testing/web-platform/tests/css/css-text-decor/reference/text-decoration-thickness-scroll-001-ref.html
rename : testing/web-platform/tests/css/css-text-decor/reference/text-decoration-width-vertical-green-rect-ref.html => testing/web-platform/tests/css/css-text-decor/reference/text-decoration-thickness-vertical-green-rect-ref.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-001.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-001.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-computed.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-computed.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-initial.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-initial.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-invalid.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-invalid.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-linethrough-001.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-linethrough-001.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-overline-001.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-overline-001.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-scroll-001.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-scroll-001.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-underline-001.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-underline-001.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-valid.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-valid.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-vertical-001.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-vertical-001.html
rename : testing/web-platform/tests/css/css-text-decor/text-decoration-width-vertical-002.html => testing/web-platform/tests/css/css-text-decor/text-decoration-thickness-vertical-002.html
rename : testing/web-platform/tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-width.html => testing/web-platform/tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-thickness.html
extra : moz-landing-system : lando
2019-07-19 16:33:08 +00:00
Nicolas Silva a58ba90d31 Bug 1567241 - Update to euclid 0.20. r=kvark, emilio.
Differential Revision: https://phabricator.services.mozilla.com/D38530

--HG--
extra : source : d65512e23a13164f540430ff0c85a1f2a147d8a0
2019-07-18 22:54:16 +02:00
Emilio Cobos Álvarez 2c808051d3 Bug 1567333 - Remove the ability to build Gecko without the bindgen feature. r=heycam
This is not used for anything, as far as I can tell.

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

--HG--
extra : moz-landing-system : lando
2019-07-18 23:39:14 +00:00
Emilio Cobos Álvarez 6cb6a39607 Bug 1564366 - Update animations when a pseudo-element had animations but no longer has, and has been re-framed in the meantime. r=birtles
This is the easy fix.

The hard fix (outlined in the comment) would be nice, but I don't think this bug
alone justifies it.

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

--HG--
extra : moz-landing-system : lando
2019-07-16 15:42:08 +00:00
Thomas Nguyen 2376337c41 Bug 1546334 - Modify URLExtraData rust debug to include referrerInfo r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D36475

--HG--
extra : moz-landing-system : lando
2019-07-16 15:03:40 +00:00
longsonr 7cf71757bf Bug 1353164 Part 1 - Remove dominant-baseline values that no longer exist r=heycam 2019-07-13 15:35:08 +01:00
Boris Chiou e801f9fefa Bug 1562086 - Add percentage for opacity (i.e. <alpha-value>). r=emilio
The following properties accept <alpha-value> [1], which is
"<number> | <percentage>", so we update the parser, spec links, and
their web-platform-tests.
1. opacity
2. flood-opacity
3. fill-opacity
4. stroke-opacity
5. stop-opacity
6. -moz-window-opacity

Besides, shape-image-threshold [2] still only accepts <number>, so we need
to support a different version of `Opacity::parse()`.

[1] https://drafts.csswg.org/css-color/#typedef-alpha-value
[2] https://drafts.csswg.org/css-shapes/#shape-image-threshold-property

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

--HG--
extra : moz-landing-system : lando
2019-07-12 19:49:32 +00:00
Emilio Cobos Álvarez 65d9b59c91 Bug 1565214 - Set the property restrictions flags from the centralized list. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D37721

--HG--
extra : moz-landing-system : lando
2019-07-11 23:07:20 +00:00
Emilio Cobos Álvarez 1bfffcd38a Bug 1565214 - Centralize property restrictions. r=boris
The assertion in properties.mako.rs ensures I got this right.

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

--HG--
extra : moz-landing-system : lando
2019-07-11 23:07:09 +00:00
Emilio Cobos Álvarez 876daf8a87 Bug 1565214 - scroll-margin properties shouldn't apply to first-line / first-letter. r=boris
From https://drafts.csswg.org/css-scroll-snap-1/#placement:

> None of the properties in this module apply to the ::first-line and
> ::first-letter pseudo-elements.

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

--HG--
extra : moz-landing-system : lando
2019-07-11 23:06:59 +00:00
Emilio Cobos Álvarez baa56e062d Bug 1565214 - Update spec link for font-variation-settings. r=boris
It had got outdated.

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

--HG--
extra : moz-landing-system : lando
2019-07-11 23:06:50 +00:00
Emilio Cobos Álvarez 85c5fe106f Bug 1565214 - Don't apply property restrictions to pseudo-elements in UA stylesheets. r=boris
And remove some of the ::placeholder and ::cue hacks where we need to use
!important to make the property not apply for content but apply on UA sheets.

The comment about the white-space property was wrong, we don't enforce it with
!important in the UA stylesheets for <input> (we do for <textarea> though), so
I've kept the flag since it really applies.

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

--HG--
extra : moz-landing-system : lando
2019-07-11 23:06:41 +00:00
Cameron McCormack 1fdc57a4a9 Bug 1564597 - Ignore pref-controlled properties in cached scrollbar style assertions. r=emilio
Now if you add a new inherited, pref-controlled property, you must
declare whether it can have an effect on scrollbar styles.  If no,
then the property will be skipped in the assertions that check
whether our cached styles are equal to those we would compute.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 22:43:24 +00:00
Boris Chiou 4ad09ccda8 Bug 1559276 - Part 2: Retire the support for 3-valued syntax for position. r=emilio
According to this resolved spec issue:
https://github.com/w3c/csswg-drafts/issues/2140,
we retire the 3-valued <position> on
1. `object-position`
2. `perspective-origin`,
3. `mask-position`
4. `circle()` and `ellipse()`
, but still keep the support for `background-position`.

Besides, I simply run this python script to generate the .ini file:
```
s = sys.argv[1] + ".ini"
with open(s, "w") as f:
    f.write('[{}]\n'.format(sys.argv[1]))
    f.write('  expected: FAIL\n')
    f.write('  bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1559276\n')
```

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

--HG--
extra : moz-landing-system : lando
2019-07-10 20:25:25 +00:00