Commit Graph

12830 Commits

Author SHA1 Message Date
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
Jonathan Kew
7ae68c458b Bug 1421938 - Add an 'auto' value for the CSS 'quotes' property, and make it use language-dependent quote marks. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D36429

--HG--
extra : moz-landing-system : lando
2019-07-09 08:59:27 +00:00
alwu
c2ca57258b Bug 1305732 - part5 : set CSS properties directly on '::cue'. r=heycam,emilio
According to the spec [1], we have to set those CSS properties on the root node, and then this root node would have a child node, background box [2], which would contain all other child nodes.

In our case, the background box is `cueDiv` [3].

In theory, all those properties set on the root node should be inherited by the background box. However, when the background box is a pseudo element `::cue`, they won't be directly inherit from the the background box's parent, inherited styles would acutally come from video instead.

Therefore, we have to directly set these properties on the pseudo element and mark them as `!important` to avoid being overrided by user style script.

[1] https://www.w3.org/TR/webvtt1/#ref-for-list-of-webvtt-node-objects-9
[2] https://www.w3.org/TR/webvtt1/#webvtt-cue-background-box
[3] https://searchfox.org/mozilla-central/rev/11712bd3ce7454923e5931fa92eaf9c01ef35a0a/dom/media/webvtt/vtt.jsm#533-534

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

--HG--
extra : moz-landing-system : lando
2019-07-09 01:42:45 +00:00
shindli
f5dea34efe Backed out 5 changesets (bug 1421938) for bustages in /builds/worker/workspace/build/src/layout/base/nsQuoteList.cpp CLOSED TREE
Backed out changeset 4e25a6db1f5b (bug 1421938)
Backed out changeset 11a8f9bc0418 (bug 1421938)
Backed out changeset f27980997dc5 (bug 1421938)
Backed out changeset adb2e2714c14 (bug 1421938)
Backed out changeset 33e38a62b400 (bug 1421938)
2019-07-09 02:52:38 +03:00
Jonathan Kew
6bea7b3966 Bug 1421938 - Add an 'auto' value for the CSS 'quotes' property, and make it use language-dependent quote marks. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D36429

--HG--
extra : moz-landing-system : lando
2019-07-08 20:16:19 +00:00
shindli
2c12986a7f Backed out 5 changesets (bug 1421938) for causing a bustage in /builds/worker/workspace/build/src/intl/locale/cldr-quotes.inc:21:448 CLOSED TREE
Backed out changeset 3958f2af0e34 (bug 1421938)
Backed out changeset 89a0866d1aa0 (bug 1421938)
Backed out changeset f150702af11f (bug 1421938)
Backed out changeset b8ebd4d241e0 (bug 1421938)
Backed out changeset 1d38eb5eff6e (bug 1421938)
2019-07-08 23:09:34 +03:00
Jonathan Kew
e5f479f588 Bug 1421938 - Add an 'auto' value for the CSS 'quotes' property, and make it use language-dependent quote marks. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D36429

--HG--
extra : moz-landing-system : lando
2019-07-08 12:13:28 +00:00
atouchet
9d6f235f64 Bug 1564085 - Update Travis CI URLs. r=emilio
This is cherry-picked from https://github.com/servo/servo/pull/23611.
2019-07-08 13:10:01 +02:00
Emilio Cobos Álvarez
3f3d4a99c4 Bug 1564085 - Appease tidy. 2019-07-08 13:09:50 +02:00
Emilio Cobos Álvarez
9218bd63e4 Bug 1564085 - Rustfmt recent changes. 2019-07-08 13:09:06 +02:00
Emilio Cobos Álvarez
cda54a6274 Bug 1564085 - simplify some recently-added code. 2019-07-08 13:08:59 +02:00
Kagami Sascha Rosylight
b33621ce08 Bug 1564085 - Add a f64 version of to_transform_3d_matrix. r=emilio
This is cherry-picked from https://github.com/servo/servo/pull/23665.
2019-07-08 13:08:38 +02:00
Emilio Cobos Álvarez
e4638db56f No bug - Remove a map(From::from) statement that does literally nothing. r=trivial 2019-07-06 11:42:17 +02:00
Emilio Cobos Álvarez
117f562dcb Bug 1563315 - Use cbindgen for fill and stroke r=boris
Differential Revision: https://phabricator.services.mozilla.com/D36807

--HG--
extra : moz-landing-system : lando
2019-07-06 08:31:02 +00:00
Emilio Cobos Álvarez
42ce0fc8e5 Bug 1563315 - Simplify parsing and storage of SVG paint server fallback. r=boris
Depends on D36805

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

--HG--
extra : moz-landing-system : lando
2019-07-06 08:24:39 +00:00
Emilio Cobos Álvarez
db6ecd7691 Bug 1563315 - Use more compact and ffi-friendly types for some svg props. r=boris
No functional change yet.

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

--HG--
extra : moz-landing-system : lando
2019-07-05 22:19:42 +00:00
Emilio Cobos Álvarez
26197b29e2 Bug 1563484 - Apply text-only zoom to system fonts. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D36893

--HG--
extra : moz-landing-system : lando
2019-07-05 21:31:40 +00:00
Calixte Denizet
8cff6b528a Bug 1559975 - Fix python3 lint issues on servo r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D35247

--HG--
extra : moz-landing-system : lando
2019-07-05 14:29:44 +00:00
Emilio Cobos Álvarez
18e6e5dc1e Bug 1561283 - Don't optimize out recascading of children when becoming or stopping being display: contents. r=dholbert
Since they can change whether descendants get blockified.

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

--HG--
extra : moz-landing-system : lando
2019-07-01 21:39:47 +00:00
Emilio Cobos Álvarez
be10aa358a No bug - rustfmt recent changes. r=whitespace-only 2019-06-29 23:00:11 +02:00
Hugh Gallagher
d18768244b Bug 1560494 - In CounterStyleOrNone check if SymbolsType is symbolic and skip if it is. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D36235

--HG--
extra : moz-landing-system : lando
2019-06-28 16:10:13 +00:00
Emilio Cobos Álvarez
b1ca51fe1e Bug 1561738 - Remove nsStyleCoord. r=boris
And move the useful bits of it somewhere else (ServoStyleConstInlines.h for the
inline function definitions, and nsFrame.cpp for the static assertions).

Differential Revision: https://phabricator.services.mozilla.com/D36120
2019-06-28 12:44:44 +02:00
Emilio Cobos Álvarez
6dea92be38 Bug 1561738 - Stop using nsStyleSides for -moz-image-rect. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D36119
2019-06-28 12:44:43 +02:00
Emilio Cobos Álvarez
0a4d4343b9 Bug 1561738 - Use cbindgen for grid track sizing. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D36118
2019-06-28 12:44:43 +02:00
Cosmin Sabou
2fa2a56685 Backed out 3 changesets (bug 1561738) for causing build bustages on nsGridContainerFrame.cpp CLOSED TREE
Backed out changeset 98f100abc2ba (bug 1561738)
Backed out changeset 9ed20d0fb9ba (bug 1561738)
Backed out changeset 483b1e134ace (bug 1561738)
2019-06-28 13:27:09 +03:00
Emilio Cobos Álvarez
e023916761 Bug 1561738 - Remove nsStyleCoord. r=boris
And move the useful bits of it somewhere else (ServoStyleConstInlines.h for the
inline function definitions, and nsFrame.cpp for the static assertions).

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

--HG--
extra : moz-landing-system : lando
2019-06-28 09:46:26 +00:00
Emilio Cobos Álvarez
02348421e4 Bug 1561738 - Stop using nsStyleSides for -moz-image-rect. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D36119

--HG--
extra : moz-landing-system : lando
2019-06-28 09:46:17 +00:00
Emilio Cobos Álvarez
9d92ed9a07 Bug 1561738 - Use cbindgen for grid track sizing. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D36118

--HG--
extra : moz-landing-system : lando
2019-06-28 09:46:02 +00:00
Charlie Marlow
8d6b1bcaa4 Bug 1561131: Adding parsing support for text-decoration-skip-ink r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D35831

--HG--
extra : moz-landing-system : lando
2019-06-27 21:34:33 +00:00
Andreea Pavel
ea400c1438 Backed out changeset 21d365e43fec (bug 1561131) for failing test_bug1112014.html on a CLOSED TREE 2019-06-28 00:12:41 +03:00
Charlie Marlow
3f0f7ff856 Bug 1561131: Adding parsing support for text-decoration-skip-ink r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D35831

--HG--
extra : moz-landing-system : lando
2019-06-27 18:09:10 +00:00
Emilio Cobos Álvarez
ca7c3716eb Bug 1552578 - Restrict properties that apply to ::marker for now. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D31680
2019-06-27 13:27:40 +02:00
Cameron McCormack
9bbe5b00a3 Bug 1554571 - Part 3: Cache computed styles of scrollbar part anonymous content. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D33123

--HG--
extra : moz-landing-system : lando
2019-06-27 07:22:22 +00:00
Cameron McCormack
5bf528676e Bug 1554571 - Part 1: Remove unused argument from Servo_ResolveStyle. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D33121

--HG--
extra : moz-landing-system : lando
2019-06-27 07:22:13 +00:00
Mihai Alexandru Michis
b485399185 Backed out 4 changesets (bug 1554571) for causing failures in minimal-xul.css
Backed out changeset 1cc4e6374b8a (bug 1554571)
Backed out changeset 30728685499e (bug 1554571)
Backed out changeset c14e9c381345 (bug 1554571)
Backed out changeset a2143551d7bc (bug 1554571)

--HG--
extra : rebase_source : 4b4442d96eb40e57b0a9834b4048b11f9be1a964
2019-06-27 07:09:55 +03:00
Mihai Alexandru Michis
c97c5547e7 Backed out changeset 7423f5bc275c (bug 1552578) for causing failures in test_marker_restrictions.html. CLOSED TREE 2019-06-27 05:52:48 +03:00
Emilio Cobos Álvarez
5fa55a81bc Bug 1552578 - Restrict properties that apply to ::marker for now. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D31680

--HG--
extra : moz-landing-system : lando
2019-06-27 00:53:45 +00:00
Cameron McCormack
8538a62557 Bug 1554571 - Part 3: Cache computed styles of scrollbar part anonymous content. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D33123

--HG--
extra : moz-landing-system : lando
2019-06-27 00:25:03 +00:00
Cameron McCormack
60ac348ac5 Bug 1554571 - Part 1: Remove unused argument from Servo_ResolveStyle. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D33121

--HG--
extra : moz-landing-system : lando
2019-06-27 00:24:54 +00:00
Connor Brewster
691d3c2a59 Bug 1555165 - Part 1: Parse backdrop-filter CSS property r=emilio,boris
Differential Revision: https://phabricator.services.mozilla.com/D35816

--HG--
extra : moz-landing-system : lando
2019-06-26 23:02:16 +00:00
Emilio Cobos Álvarez
3ff14f467f Bug 1547231 - Add an internal aspect-ratio CSS property. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D29037

--HG--
extra : moz-landing-system : lando
2019-06-26 22:10:04 +00:00
Emilio Cobos Álvarez
e86340308c Bug 1559814 - Use the cbindgen representation for grid line properties. r=mats
We clamp earlier (parse time rather than computed value time), but that's the
only behavior change, which I think doesn't really matter.

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

--HG--
extra : moz-landing-system : lando
2019-06-26 21:21:38 +00:00
Emilio Cobos Álvarez
914637451c Bug 1559814 - Generate top-level function and constant declarations for the style crate. r=heycam
This needs https://github.com/eqrion/cbindgen/pull/362, but I expect it to be
uncontroversial. I'll add a patch to this bug when it's merged to update it.

cbindgen historically didn't include these, but it turns out to be pretty useful
to generate constants for the style crate (since the binding crate is
`servo/ports/geckolib`).

An alternative is to get a completely different cbindgen-generated header for
these, but that seems a bit wasteful. This generates the constants with the
Style prefix (so we'll get `StyleMAX_GRID_LINE` for example), which is very
ugly. But we probably want to eventually stop using the Style prefix and use a
namespace instead, plus it's trivial to do `auto kMaxLine = StyleMAX_GRID_LINE`,
for example, so it's probably not a huge deal.

Another alternative would be to use associated consts, which _are_ generated by
cbindgen. Something like:

```
struct GridConstants([u8; 0]);
impl GridConstants {
    const MAX_GRID_LINE: i32 = 10000;
}
```

Which would yield something like:

```
static const int32 StyleGridConstants_MAX_GRID_LINE = 10000;
```

I'm not sure if you find it preferrable, but I'm also happy to change it in a
follow-up to use this.

We need to fix a few manual C++ function signature definitions to match the C++
declaration.

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

--HG--
extra : moz-landing-system : lando
2019-06-26 21:21:28 +00:00
Emilio Cobos Álvarez
96113a798b Bug 1559814 - Use a more similar representation in Rust and C++ for grid lines. r=heycam
Option<> is not FFI-safe, so if we want to use the same representation
everywhere we need to get rid of it. This also makes it take the same amount of
memory as the C++ representation, and it's not very complex, I'd think.

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

--HG--
extra : moz-landing-system : lando
2019-06-26 21:21:06 +00:00
Mihai Alexandru Michis
0f86a6b30b Backed out 4 changesets (bug 1559814) for causing bustages. CLOSED TREE
Backed out changeset 11ec9de59076 (bug 1559814)
Backed out changeset fec03c5d3661 (bug 1559814)
Backed out changeset 62f9d89fb827 (bug 1559814)
Backed out changeset 362d9435ca4e (bug 1559814)
2019-06-27 00:04:50 +03:00
Emilio Cobos Álvarez
f792986565 Bug 1559814 - Use the cbindgen representation for grid line properties. r=mats
We clamp earlier (parse time rather than computed value time), but that's the
only behavior change, which I think doesn't really matter.

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

--HG--
extra : moz-landing-system : lando
2019-06-26 20:33:23 +00:00
Emilio Cobos Álvarez
48ab92e23c Bug 1559814 - Generate top-level function and constant declarations for the style crate. r=heycam
This needs https://github.com/eqrion/cbindgen/pull/362, but I expect it to be
uncontroversial. I'll add a patch to this bug when it's merged to update it.

cbindgen historically didn't include these, but it turns out to be pretty useful
to generate constants for the style crate (since the binding crate is
`servo/ports/geckolib`).

An alternative is to get a completely different cbindgen-generated header for
these, but that seems a bit wasteful. This generates the constants with the
Style prefix (so we'll get `StyleMAX_GRID_LINE` for example), which is very
ugly. But we probably want to eventually stop using the Style prefix and use a
namespace instead, plus it's trivial to do `auto kMaxLine = StyleMAX_GRID_LINE`,
for example, so it's probably not a huge deal.

Another alternative would be to use associated consts, which _are_ generated by
cbindgen. Something like:

```
struct GridConstants([u8; 0]);
impl GridConstants {
    const MAX_GRID_LINE: i32 = 10000;
}
```

Which would yield something like:

```
static const int32 StyleGridConstants_MAX_GRID_LINE = 10000;
```

I'm not sure if you find it preferrable, but I'm also happy to change it in a
follow-up to use this.

We need to fix a few manual C++ function signature definitions to match the C++
declaration.

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

--HG--
extra : moz-landing-system : lando
2019-06-26 20:33:14 +00:00
Emilio Cobos Álvarez
9228dbbbfa Bug 1559814 - Use a more similar representation in Rust and C++ for grid lines. r=heycam
Option<> is not FFI-safe, so if we want to use the same representation
everywhere we need to get rid of it. This also makes it take the same amount of
memory as the C++ representation, and it's not very complex, I'd think.

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

--HG--
extra : moz-landing-system : lando
2019-06-26 20:32:49 +00:00
Nicholas Nethercote
41b679b6e2 Bug 1561216 - Change StaticPrefs from a class to a namespace. r=froydnj
This doesn't change the way C++ code uses static prefs. But it does slightly
change how Rust code uses static prefs, specifically the name generated by
bindgen is slightly different.

The commit also improves some comments.

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

--HG--
extra : rebase_source : 13cf215aeb713e188103ef0cd04d094aa150853e
2019-06-25 10:36:59 +10:00
Alastor Wu
b501f4f9fe Bug 1321488 - restrict CSS properties for '::cue' r=emilio
According to the spec [1], only those CSS properties listed on the spec can be applied on the `::cue`.

[1] https://www.w3.org/TR/webvtt1/#the-cue-pseudo-element

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

--HG--
extra : moz-landing-system : lando
2019-06-25 00:32:07 +00:00
Dorel Luca
88d9c25909 Backed out changeset 49799d898958 (bug 1321488) for Mochitest failures in dom/base/test/test_audioNotificationSilent_audioFile.html 2019-06-25 03:08:45 +03:00
Alastor Wu
0fbd3654ff Bug 1321488 - restrict CSS properties for '::cue' r=emilio
According to the spec [1], only those CSS properties listed on the spec can be applied on the `::cue`.

[1] https://www.w3.org/TR/webvtt1/#the-cue-pseudo-element

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

--HG--
extra : moz-landing-system : lando
2019-06-24 20:16:39 +00:00
violet
75f6c6ddaa Bug 1560828 - paint-order parsing has off-by-one error r=emilio
A couple of firefox only WPT failure caused by this off-by-one bug.

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

--HG--
extra : moz-landing-system : lando
2019-06-24 04:07:42 +00:00
violet
8a8f7223a9 Bug 1557563 - Add computed value ZeroToOneNumber r=emilio,birtles
Correctly handle clamping to 1 behavior of grayscale(),
invert(), opacity() and sepia().

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

--HG--
extra : moz-landing-system : lando
2019-06-23 23:01:47 +00:00
Emilio Cobos Álvarez
6053d3deb8 Bug 1560777 - followup: Servo doesn't implement white-space: break-spaces. 2019-06-23 14:37:58 +02:00
Emilio Cobos Álvarez
dade3682e3 Bug 1560777 - Fix Servo build. 2019-06-23 13:20:02 +02:00
Emilio Cobos Álvarez
9ed6555245 Bug 1560777 - Rustfmt and fix tidy on recent changes. 2019-06-23 13:16:03 +02:00
Emilio Cobos Álvarez
ed31d80598 Bug 1560777 - Update various servo / test-only dependencies. 2019-06-23 13:15:55 +02:00
Emilio Cobos Álvarez
c08ad2bc03 Bug 1560777 - Fix various nightly warnings in Servo-only code. 2019-06-23 13:15:39 +02:00
Emilio Cobos Álvarez
2295794f5f Bug 1560777 - Fix RuleNode::has_children_for_testing.
I fixed it in the last sync but forgot to do that in Gecko.
2019-06-23 13:14:36 +02:00
Emilio Cobos Álvarez
86c78d4e72 Bug 1560777 - Remove various bits of dead code removed in upstream servo. r=emilio 2019-06-23 13:10:27 +02:00
Emilio Cobos Álvarez
568c07f7ef Bug 1560777 - Fix a typo in a comment. 2019-06-23 13:08:25 +02:00
violet
e6d794f2b0 Bug 1547633 - Invalidate style for ::selection r=emilio
This patch invalidates the style for `::selection`, which will restore the behavior before the regression.

However, it's still not quite correct, because repaint is not triggered. Given that `::selection` requires some major change to implement https://github.com/w3c/csswg-drafts/issues/2474, we can address this problem later.

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

--HG--
extra : moz-landing-system : lando
2019-06-22 10:09:51 +00:00
Boris Chiou
88447089e6 Bug 1560198 - Fix the serialization of the computed value of background-size. r=emilio
This patch produces the following serialization:
```
    input      |  computed value
  ------------------------------
1. "auto"            "auto"
2. "auto auto"       "auto"
3. "15px auto"       "15px"
4. "15px"            "15px"
```
i.e. If the second value is 'auto', then it's omitted from our serialization,
because it's implied.

Besides, we update the wpt to address this spec issue:
https://github.com/w3c/csswg-drafts/issues/2574

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

--HG--
extra : moz-landing-system : lando
2019-06-21 21:48:54 +00:00
Emilio Cobos Álvarez
3a16c93150 Bug 1556602 - Fix various warnings with rust 1.37 nightly. r=froydnj
In particular:

 * trait objects without an explicit `dyn` are deprecated
 * `...` range patterns are deprecated

I think these shouldn't really warn by default and should be clippy / opt-in
lints, but anyway, doesn't hurt.

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

--HG--
extra : moz-landing-system : lando
2019-06-18 21:32:16 +00:00
Emilio Cobos Álvarez
6ed8680108 Bug 1559546 - Use atoms for grid line names. r=mats
The style system already atomizes all CustomIdent values, which means that we're
just wasting memory and CPU by doing string copies all over the place.

This patch fixes it. This also simplifies further changes to use as much of the
rust data structures as possible.

I had to switch from nsTHashtable to mozilla::HashTable because the former
doesn't handle well non-default-constructible structs (like NamedLine, which
now has a StyleAtom, which is not default-constructible).

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

--HG--
extra : moz-landing-system : lando
2019-06-19 05:58:11 +00:00
Emilio Cobos Álvarez
5a2717a028 Bug 1559546 - Allow to construct StyleAtom objects from C++. r=heycam
I'm going to need it in an upcoming patch.

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

--HG--
extra : moz-landing-system : lando
2019-06-19 05:58:01 +00:00
Emilio Cobos Álvarez
841d3eea32 Bug 1559545 - Use servo for the representation of grid template areas. r=mats
Right now we do a lot of useless string copying. In order to avoid transcoding
to utf-16 during layout, make sure to use nsCString at a few related places.

I may revisit this since we're storing other line names as atoms in some places.
So it may be better to just use atoms everywhere.

But that'd be a different patch either way.

Depends on D35116

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

--HG--
extra : moz-landing-system : lando
2019-06-18 22:29:58 +00:00
Emilio Cobos Álvarez
f720448603 Bug 1559545 - Use more ffi-friendly types in grid template areas. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D35116

--HG--
extra : moz-landing-system : lando
2019-06-17 15:44:21 +00:00
violet
f8f8760a7f Bug 1559796 - Should not serialize default radius of circle r=emilio
Should not serialize default shape-outside circle() function radius.

The ToCss impl of Circle and Ellipse turn out to be identical in specified and computed value, thus move them to generics.

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

--HG--
extra : moz-landing-system : lando
2019-06-18 11:54:41 +00:00
Noemi Erli
f555fa472a Backed out changeset a2a92e2fd645 (bug 1559796) for failing in shape-outside-circle-004.html 2019-06-18 08:44:42 +03:00
violet
a213db9419 Bug 1559796 - Should not serialize default radius of circle r=emilio
Should not serialize default shape-outside circle() function radius.

The ToCss impl of Circle and Ellipse turn out to be identical in specified and computed value, thus move them to generics.

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

--HG--
extra : moz-landing-system : lando
2019-06-18 03:48:27 +00:00
violet
682af614dd Bug 1470695 - Implement overflow-block and overflow-inline properties r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D34738

--HG--
extra : moz-landing-system : lando
2019-06-15 13:09:16 +00:00
violet
d5bbf998dd Bug 1351432 - Implement the break-spaces value of the white-space property r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D34499

--HG--
extra : moz-landing-system : lando
2019-06-12 10:23:49 +00:00
Boris Chiou
d6e5792aff Bug 1542064 - Add MOZ_DBG support for AnimationValue. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D33357

--HG--
extra : moz-landing-system : lando
2019-06-12 18:14:18 +00:00
Emilio Cobos Álvarez
8381c5ce61 Bug 1505489 - Add a pref and enable Shadow Parts in Nightly and for chrome stylesheets. r=heycam
I want to enable in Nightly to evaluate (in the medium term) shipping it without
the part forwarding, once the cascade order and importance issues are fixed, and
that we pass all the tests that don't involve forwarding.

That is, I want to monitor whether having ::part() causes compat issues or not.

Depends on D32648

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

--HG--
extra : moz-landing-system : lando
2019-06-11 17:42:58 +00:00
Emilio Cobos Álvarez
72a9fa3730 Bug 1505489 - Implement GeckoElement::each_part. r=heycam
This should make all the pieces come together.

Note that we don't need to look at the snapshot for ::part() for now (other than
when selector-matching normally) because I decided to just restyle the element
for now when the part attribute changes.

::part() can't affect descendants anyway (as long as we don't do the forwarding
stuff), and eager pseudo-elements are handled during the normal element restyle,
so it seems to me that adding all the complexity that we have for classes to
part may not be worth it at least yet.

Depends on D32647

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

--HG--
extra : moz-landing-system : lando
2019-06-11 17:42:49 +00:00
Emilio Cobos Álvarez
3685cf25a7 Bug 1505489 - Add code to make part rules affect the style of the elements. r=heycam
I still haven't implemented each_part(), so this will do nothing yet.

The cascade order stuff is fishy, I know, and I'll fix in a followup if it's
fine with you. I moved the sorting of the rules to rule_collector, since it
seemed to me it was better that way that duplicating the code, and those
SelectorMap functions only have a single caller anyway.

Depends on D32646

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

--HG--
extra : moz-landing-system : lando
2019-06-11 17:42:41 +00:00
Emilio Cobos Álvarez
838e209b31 Bug 1505489 - Collect ::part() rules during CascadeData rebuilds. r=heycam
Unlike for :host() or ::slotted(), or regular rules, we don't need a whole
SelectorMap<>, so gotta make the code a bit more generic.

Depends on D32645

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

--HG--
extra : moz-landing-system : lando
2019-06-11 17:42:32 +00:00
Emilio Cobos Álvarez
b2875e0362 Bug 1505489 - Add an extra flag to flag ::part() to selectors. r=heycam
This grows the selector struct, but only in 32-bit, since in 64-bit we take
space from the alignment padding that we're paying due to having the size of the
slice as a word.

Depends on D32644

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

--HG--
extra : moz-landing-system : lando
2019-06-11 17:42:23 +00:00
Emilio Cobos Álvarez
0d984c302b Bug 1505489 - Don't go through all the part names if not there. r=jwatt
This uses the bit added for tracking part attributes in order to avoid doing
wasted work.

Depends on D32643

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

--HG--
extra : moz-landing-system : lando
2019-06-11 17:42:09 +00:00
Emilio Cobos Álvarez
103cf22ede Bug 1505489 - Add plumbing code to invalidate shadow parts. r=heycam
Still does nothing, since we still do not collect part rules, but this is all
the plumbing that should allow us to invalidate parts when attributes or state
change on their ancestors.

Depends on D32641

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

--HG--
extra : moz-landing-system : lando
2019-06-11 17:41:51 +00:00
Emilio Cobos Álvarez
351d40e7c3 Bug 1557430 - Add memory reporters for SVG mapped attribute declarations. r=njn,heycam
These are owned by the element and not referenced from the stylesheets.

They're referenced from the rule tree, but the rule nodes don't measure their
style source (since they're non-owning).

So unconditionally reporting them even though it's a refcounted object is ok.

While at it, remove some other fields from the old style system that are no
longer used.

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

--HG--
extra : moz-landing-system : lando
2019-06-08 18:58:57 +00:00
Emilio Cobos Álvarez
67c30d05d2 Bug 1557212 - Use cbindgen for gradients. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D33901

--HG--
extra : moz-landing-system : lando
2019-06-07 14:13:17 +00:00
Daniel Varga
fe7dbedf22 Merge mozilla-inbound to mozilla-central. a=merge 2019-06-07 12:50:35 +03:00
Emilio Cobos Álvarez
e2fcdb0253 Bug 1557403 - Handle default angle in radians. r=me
We were not copying the angle in this case for some reason, and I overlooked
this.
2019-06-06 19:30:03 -04:00
Charlie Marlow
29aa4dbb9a Bug 1555863 added text-decoration-width support to style system including mochitests and web platform tests r=emilio
from-font support will be added later

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

--HG--
extra : moz-landing-system : lando
2019-06-06 17:12:22 +00:00
Emilio Cobos Álvarez
3df59a0cfa Bug 1557110 - Cleanup gradient parsing by removing the simple-moz-gradient parsing pref. r=dholbert
It looks like bug 1547939 will stick, given how fast the other regressions came
in for bug 1337655.

We haven't seen any regression from this, and it seems unlikely that we'd want
this code back.

This blocks further improvements to the style system. Simplifying this code
allows me to remove all the conversion code for gradients.

Let me know if you think it's premature and I'm happy to wait, but I really want
to see this code gone :)

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

--HG--
extra : moz-landing-system : lando
2019-06-06 04:08:52 +00:00
Daniel Holbert
d9ebfdd4d2 Bug 1556855 part 4: Remove support for the layout.css.prefixes.webkit pref. r=mats
From this point on, the webkit-prefixed CSS features that were previously
protected by this pref will now be unconditionally enabled.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 18:23:02 +00:00
Charlie Marlow
da73c04156 Bug 1555150: adding support for CSS text underline offset to the style system r=emilio
support  for from-font listed in the CSS spec will be implemented in a later bug

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

--HG--
extra : moz-landing-system : lando
2019-06-04 22:04:14 +00:00
Coroiu Cristina
b2c75da135 Backed out changeset ba1f75c56457 (bug 1555150) for xpcshell failures at devtools/shared/tests/unit/test_css-properties-db.js 2019-06-04 07:52:50 +03:00
Charlie Marlow
a2861fd11e Bug 1555150: adding support for CSS text underline offset to the style system r=emilio
support  for from-font listed in the CSS spec will be implemented in a later bug

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

--HG--
extra : moz-landing-system : lando
2019-06-03 19:43:08 +00:00
Emilio Cobos Álvarez
749db71829 Bug 1554150 - Hide some appearance values from content. r=mats
They're not used internally either, so remove all ability to address them.

I haven't removed the implementation yet, as some of them are quite complex, and
I don't have a mac / windows build. We should do that when this hits release
though.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 17:32:48 +00:00
Emilio Cobos Álvarez
e088b3760a Bug 1555867 - Report heap size of rule tree heap allocations as well. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D33353

--HG--
extra : moz-landing-system : lando
2019-06-03 16:37:53 +00:00
Emilio Cobos Álvarez
afb4bcad28 Bug 1555867 - Inline one child in the rule tree. r=heycam
It is indeed the most common case according to a bit of measurement.

A non-atypical example from GitHub for example:

> Rule tree stats:
>  0 - 340
>  1 - 1403
>  2 - 28
>  3 - 8
>  4 - 2
>  6 - 1
>  7 - 3
>  8 - 2
>  12 - 2
>  14 - 1
>  41 - 1
>  45 - 1
>  67 - 1
>  68 - 1

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

--HG--
extra : moz-landing-system : lando
2019-06-03 16:37:45 +00:00
Emilio Cobos Álvarez
d34afb7b9d Bug 1555867 - Add some very basic rule tree stats that can be enabled with trace-level logging. r=heycam
This is useful to analyze the shape of the rule tree at a glance.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 16:37:34 +00:00
Evgeniy Reizner
8e33a62cdd Bug 1556388 - Do not use borrowed types in the selectors::Element trait. r=emilio
This cherry-picks https://github.com/servo/servo/pull/23463 with a few fixes for
the Gecko build.
2019-06-03 09:12:17 -04:00
Emilio Cobos Álvarez
b58cd8f644 Bug 1556388 - Fix Servo build. 2019-06-03 09:12:15 -04:00
Emilio Cobos Álvarez
63da4ebdab Bug 1556388 - Appease tidy. 2019-06-03 09:12:13 -04:00
Emilio Cobos Álvarez
66b65a1241 Bug 1556388 - Rustfmt recent changes. 2019-06-03 09:12:12 -04:00
Cosmin Sabou
bb748896e1 Backed out changeset 118a2ee53436 (bug 1555150) for xpcshell failures on /test_css-properties-db.js. CLOSED TREE 2019-06-01 02:27:33 +03:00
Charlie Marlow
aa48f14906 Bug 1555150: adding support for CSS text underline offset to the style system r=emilio
support  for from-font listed in the CSS spec will be implemented in a later bug

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

--HG--
extra : moz-landing-system : lando
2019-05-31 21:09:11 +00:00
Emilio Cobos Álvarez
80e62fe4db Bug 1555944 - Make nsIContent::GetBindingParent return an element. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D33308
2019-05-31 23:31:59 +02:00
Emilio Cobos Álvarez
19258bfbb4 Bug 1554716 - Remove nsStyleColor moving the color property to nsStyleText. r=jfkthame
I think this is a good change regardless of other discussion in bug 1552587. If
we decide to move `mColor` to the top-level of the struct that can be done
separately.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 14:48:22 +00:00
Emilio Cobos Álvarez
0bdeae4db0 Bug 1493420 - followup: Bump max allowed stack size of RuleNode. irc-r=heycam 2019-05-30 02:27:59 +02:00
Emilio Cobos Álvarez
41399e03a6 Bug 1493420 - Use a RwLock'd HashMap instead of a lock-free linked list for rule node children. r=heycam
I need to profile this a bit more, but talos was pretty happy about this, and it
solves the known performance issues here such as the test-case from bug 1483963
for example. This also gets rid of a bunch of unsafe code which is nice.

This still keeps the same GC scheme, removing the key from the hashmap when
needed. I kept those as release assertions, but should probably be turned into
debug-only assertions.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 23:41:01 +00:00
Emilio Cobos Álvarez
058ea528a4 Bug 1552080 - Rejigger a bit rust features so that rusttests still link. r=froydnj
We cannot compile with just feature(gecko + debug_assertions), since that's how
debug rusttests get compiled and they don't have the refcount logging stuff.

We were getting away with it for the pre-existing usage of the style crate,
because it wasn't used during any test and presumably the linker didn't
complain. But servo_arc is definitely used in tests.

Differential Revision: https://phabricator.services.mozilla.com/D32691
2019-05-29 21:30:52 +02:00
Emilio Cobos Álvarez
bce5af1e30 Bug 1552080 - Add refcount logging to servo_arc. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D32173
2019-05-29 21:30:23 +02:00
Emilio Cobos Álvarez
fce57b44fd Bug 1552878 - Use cbindgen for filters. r=jwatt
Had to implement some OwnedSlice bits that the canvas code used.

Differential Revision: https://phabricator.services.mozilla.com/D31799
2019-05-29 21:22:07 +02:00