Commit graph

130 commits

Author SHA1 Message Date
Jonathan Kew
5357cb0d41 Bug 1698495 - Add the size-adjust descriptor to the style system. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D110022
2021-03-29 21:14:43 +00:00
Jonathan Kew
8b75657e88 Bug 1681691 - Add ascent-, descent- and line-gap-override descriptors to the style system. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D109287
2021-03-23 17:10:22 +00:00
Jonathan Kew
54906f738a Bug 1681691 - Convert the font-stretch descriptor to use NonNegativePercentage. r=emilio
Depends on D109285

Differential Revision: https://phabricator.services.mozilla.com/D109286
2021-03-23 17:10:22 +00:00
smolnar
03eae2c9a5 Backed out 8 changesets (bug 1681691) for causing wpt failures in idlharness.https.html. CLOSED TREE
Backed out changeset dda736a69ceb (bug 1681691)
Backed out changeset 64edecd0df6f (bug 1681691)
Backed out changeset a19844063d00 (bug 1681691)
Backed out changeset 5dd06c73f703 (bug 1681691)
Backed out changeset 1bc4081f95e4 (bug 1681691)
Backed out changeset e7887dc9a3c6 (bug 1681691)
Backed out changeset d9b488c09c23 (bug 1681691)
Backed out changeset b45b607fee4d (bug 1681691)
2021-03-23 12:00:39 +02:00
Jonathan Kew
9c70dc7340 Bug 1681691 - Add ascent-, descent- and line-gap-override descriptors to the style system. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D109287
2021-03-23 08:37:06 +00:00
Jonathan Kew
829e78632b Bug 1681691 - Convert the font-stretch descriptor to use NonNegativePercentage. r=emilio
Depends on D109285

Differential Revision: https://phabricator.services.mozilla.com/D109286
2021-03-23 08:37:06 +00:00
Cosmin Sabou
193a73a5ea Backed out 10 changesets (bug 1681691) for wpt failures on fontface-override-descriptor-getter-setter.sub.html and idlharness.https.html. CLOSED TREE
Backed out changeset e43fba82fb31 (bug 1681691)
Backed out changeset 104675869016 (bug 1681691)
Backed out changeset 536bbc4b9ecd (bug 1681691)
Backed out changeset bb53155c3dd0 (bug 1681691)
Backed out changeset 9f9c3c13801a (bug 1681691)
Backed out changeset af79bc7f7919 (bug 1681691)
Backed out changeset e86d980f511e (bug 1681691)
Backed out changeset 12418707741d (bug 1681691)
Backed out changeset 8d5c2106a2b4 (bug 1681691)
Backed out changeset 4805e23e62d2 (bug 1681691)
2021-03-22 20:37:38 +02:00
Jonathan Kew
cd80bce521 Bug 1681691 - Add ascent-, descent- and line-gap-override descriptors to the style system. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D109287
2021-03-22 15:40:52 +00:00
Jonathan Kew
93f83b8081 Bug 1681691 - Convert the font-stretch descriptor to use NonNegativePercentage. r=emilio
Depends on D109285

Differential Revision: https://phabricator.services.mozilla.com/D109286
2021-03-22 15:40:52 +00:00
Emilio Cobos Álvarez
0cc4b1a206 Bug 1663231 - Make @font-face and @counter-style serialization closer other browsers and style rules. r=xidorn
Style rules serialize on one line and so should @font-face blocks.

Part of https://github.com/w3c/csswg-drafts/issues/4828.

Differential Revision: https://phabricator.services.mozilla.com/D89302
2020-09-05 00:42:43 +00:00
Emilio Cobos Álvarez
b774002cf9 Bug 1646546 - Switch all callsites of try() to try_parse() in the style crate. r=boris
Fully automated via:

  $ rg -l '\.try\(' | xargs sed -i 's/\.try(/.try_parse(/g'
  $ cd servo/components/style && cargo +nightly fmt

Differential Revision: https://phabricator.services.mozilla.com/D80099
2020-06-17 22:27:37 +00:00
Emilio Cobos Álvarez
a9897383a4 Bug 1593642 - Add a few commas that newer macros need.
Servo is on a newer cssparser version.

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

--HG--
extra : moz-landing-system : lando
2019-11-04 12:53:04 +00:00
Nicholas Nethercote
2c0b69fee1 Bug 1563555 - Use static_prefs::pref! in Stylo. r=emilio
It's much nicer.

One nice thing about this is that the new code is subject to the existing
threadedness checking, which identified that several of these should be atomic
because they're accessed off the main thread.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 22:58:55 +00:00
Cosmin Sabou
9453cf60bf Backed out 2 changesets (bug 1563555) for causing marionette failures on test_profile_management.py.
Backed out changeset 2559f5ddf8e0 (bug 1563555)
Backed out changeset e3c86ffa168c (bug 1563555)

--HG--
extra : histedit_source : 8569cceff2845f697109e2077a00c96074c7fe83
2019-08-07 12:09:13 +03:00
Nicholas Nethercote
b723ddbe42 Bug 1563555 - Use static_prefs::pref! in Stylo. r=emilio
It's much nicer.

One nice thing about this is that the new code is subject to the existing
threadedness checking, which identified that several of these should be atomic
because they're accessed off the main thread.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 04:17:08 +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
Emilio Cobos Álvarez
a384dedd93 Bug 1552708 - Use cbindgen for URIs. r=heycam
This doesn't clean up as much as a whole, but it's a step in the right
direction. In particular, it allows us to start using simple bindings for:

 * Filters
 * Shapes and images, almost. Need to:
   * Get rid of the complex -moz- gradient parsing (let
     layout.css.simple-moz-gradient.enabled get to release).
 * Counters, almost. Need to:
   * Share the Attr representation with Gecko, by not using Option<>.
     * Just another variant should be enough (ContentItem::{Attr,Prefixedattr},
       maybe).

Which in turn allows us to remove a whole lot of bindings in followups to this.

The setup changes a bit. This also removes the double pointer I complained about
while reviewing the shared UA sheet patches. The old setup is:

```
SpecifiedUrl
 * CssUrl
   * Arc<CssUrlData>
     * String
     * UrlExtraData
 * UrlValueSource
   * Arc<CssUrlData>
   * load id
   * resolved uri
   * CORS mode.
   * ...
```

The new one removes the double reference to the url data via URLValue, and looks
like:

```
SpecifiedUrl
 * CssUrl
   * Arc<CssUrlData>
     * String
     * UrlExtraData
     * CorsMode
     * LoadData
       * load id
       * resolved URI
```

The LoadData is the only mutable bit that C++ can change, and is not used from
Rust. Ideally, in the future, we could just use rust-url to resolve the URL
after parsing or something, and make it all immutable. Maybe.

I've verified that this approach still works with the UA sheet patches (via the
LoadDataSource::Lazy).

The reordering of mWillChange is to avoid nsStyleDisplay from going over the
size limit. We want to split it up anyway in bug 1552587, but mBinding gains a
tag member, which means that we were having a bit of extra padding.

One thing I want to explore is to see if we can abuse rustc's non-zero
optimizations to predict the layout from C++, but that's something to explore at
some other point in time and with a lot of care and help from Michael (who sits
next to me and works on rustc ;)).

Differential Revision: https://phabricator.services.mozilla.com/D31742
2019-05-29 21:22:04 +02:00
Brindusan Cristian
40a5b04ab5 Backed out 3 changesets (bug 1552708, bug 1552878) for build bustages and compiler issues. CLOSED TREE
Backed out changeset 9d4f178bfcbd (bug 1552878)
Backed out changeset 80db9f845237 (bug 1552708)
Backed out changeset 1bdbfbb5b342 (bug 1552708)
2019-05-27 17:00:03 +03:00
Emilio Cobos Álvarez
f2190857bb Bug 1552708 - Use cbindgen for URIs. r=heycam
This doesn't clean up as much as a whole, but it's a step in the right
direction. In particular, it allows us to start using simple bindings for:

 * Filters
 * Shapes and images, almost. Need to:
   * Get rid of the complex -moz- gradient parsing (let
     layout.css.simple-moz-gradient.enabled get to release).
 * Counters, almost. Need to:
   * Share the Attr representation with Gecko, by not using Option<>.
     * Just another variant should be enough (ContentItem::{Attr,Prefixedattr},
       maybe).

Which in turn allows us to remove a whole lot of bindings in followups to this.

The setup changes a bit. This also removes the double pointer I complained about
while reviewing the shared UA sheet patches. The old setup is:

```
SpecifiedUrl
 * CssUrl
   * Arc<CssUrlData>
     * String
     * UrlExtraData
 * UrlValueSource
   * Arc<CssUrlData>
   * load id
   * resolved uri
   * CORS mode.
   * ...
```

The new one removes the double reference to the url data via URLValue, and looks
like:

```
SpecifiedUrl
 * CssUrl
   * Arc<CssUrlData>
     * String
     * UrlExtraData
     * CorsMode
     * LoadData
       * load id
       * resolved URI
```

The LoadData is the only mutable bit that C++ can change, and is not used from
Rust. Ideally, in the future, we could just use rust-url to resolve the URL
after parsing or something, and make it all immutable. Maybe.

I've verified that this approach still works with the UA sheet patches (via the
LoadDataSource::Lazy).

The reordering of mWillChange is to avoid nsStyleDisplay from going over the
size limit. We want to split it up anyway in bug 1552587, but mBinding gains a
tag member, which means that we were having a bit of extra padding.

One thing I want to explore is to see if we can abuse rustc's non-zero
optimizations to predict the layout from C++, but that's something to explore at
some other point in time and with a lot of care and help from Michael (who sits
next to me and works on rustc ;)).

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

--HG--
extra : moz-landing-system : lando
2019-05-27 11:45:12 +00:00
Cameron McCormack
6b5853fa8e Bug 1474793 - Part 10.8: Add derived ToShmem implementations. r=emilio
Depends on D17196

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

--HG--
extra : moz-landing-system : lando
2019-03-30 00:16:25 +00:00
Emilio Cobos Álvarez
0f9d0b6755 Bug 1537576 - fix some rust-nightly warnings about unused doc comments. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D24287

--HG--
extra : moz-landing-system : lando
2019-03-20 22:47:30 +00:00
Simon Sapin
81312a11be Bug 1518045 - Rustfmt has changed its default style. r=emilio
This cherry-picks the formatting parts of
https://github.com/servo/servo/pull/22385.
2019-01-07 00:53:06 +01:00
Emilio Cobos Álvarez
1f4fecfcd2 Bug 1511811 - Use https for the MPL license URL.
Cherry-picks https://github.com/servo/servo/pull/22198
2018-12-03 08:43:48 -05:00
shindli
6c6e4a960d Backed out 13 changesets (bug 1511811) for Btup bustages
Backed out changeset d71cde918f43 (bug 1511811)
Backed out changeset 0ae2634de8e1 (bug 1511811)
Backed out changeset 53d1f5ca4099 (bug 1511811)
Backed out changeset 5a08148928ef (bug 1511811)
Backed out changeset da7816ec50ef (bug 1511811)
Backed out changeset 5fe23889cccc (bug 1511811)
Backed out changeset 800bc60c75a7 (bug 1511811)
Backed out changeset 2392d8199cd0 (bug 1511811)
Backed out changeset 7bc486fbd195 (bug 1511811)
Backed out changeset d2c997426108 (bug 1511811)
Backed out changeset ddd573878432 (bug 1511811)
Backed out changeset 29c8ec1559a4 (bug 1511811)
Backed out changeset f5851346109d (bug 1511811)

--HG--
rename : third_party/rust/darling_core/src/macros_private.rs => third_party/rust/darling_core/src/macros.rs
2018-12-03 15:39:11 +02:00
Emilio Cobos Álvarez
6359ab5223 Bug 1511811 - Use https for the MPL license URL.
Cherry-picks https://github.com/servo/servo/pull/22198
2018-12-03 08:15:21 -05:00
Emilio Cobos Álvarez
f8ed926bb3 Bug 1506391 - Manually extinguish multi-line use statements. 2018-11-11 02:40:30 +01:00
Emilio Cobos Álvarez
652ee99c60 Bug 1506391 - Revert try -> r#try change.
Since we're in an inconsistent state because mako files weren't updated, and
it's really ugly.
2018-11-11 02:40:28 +01:00
Simon Sapin
f7c7465ccb Bug 1506391 - cargo fix --edition --features gecko. r=emilio 2018-11-11 02:40:24 +01:00
Simon Sapin
4f9e2bcf36 Bug 1506391 - cargo fix --edition. r=emilio 2018-11-11 02:40:21 +01:00
Brindusan Cristian
d67cc09fb1 Backed out 7 changesets (bug 1506391) for Btup bustages.
Backed out changeset b8216171101c (bug 1506391)
Backed out changeset 03d2309b737d (bug 1506391)
Backed out changeset 7b63f3149852 (bug 1506391)
Backed out changeset be88680421db (bug 1506391)
Backed out changeset 3840ce1ebfb0 (bug 1506391)
Backed out changeset 94517e21621c (bug 1506391)
Backed out changeset 32bde6f52a32 (bug 1506391)
2018-11-11 01:08:20 +02:00
Emilio Cobos Álvarez
e8ce491b80 Bug 1506391 - Manually extinguish multi-line use statements. 2018-11-10 21:41:50 +01:00
Emilio Cobos Álvarez
e9e41c8b89 Bug 1506391 - Revert try -> r#try change.
Since we're in an inconsistent state because mako files weren't updated, and
it's really ugly.
2018-11-10 21:41:38 +01:00
Simon Sapin
c584ac16a7 Bug 1506391 - cargo fix --edition --features gecko. r=emilio 2018-11-10 21:14:15 +01:00
Simon Sapin
10fbe4919b Bug 1506391 - cargo fix --edition. r=emilio 2018-11-10 21:14:05 +01:00
Emilio Cobos Álvarez
176fa6315c Bug 1505618 - Import formatting changes from servo/servo#22126. 2018-11-08 00:50:12 +01:00
Cameron McCormack
b74ebf7c27 Bug 1497076 - Handle reversed ranges in @font-face descriptors r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D10327

--HG--
extra : moz-landing-system : lando
2018-10-31 10:40:56 +00:00
Emilio Cobos Álvarez
24a88a3376 Bug 1497607 - Fix some style issues caught by servo-tidy. r=me 2018-10-09 20:31:53 +02:00
Emilio Cobos Álvarez
c6c06c7f48 Bug 1496486 - Remove nsCSSValue usage from font code. r=heycam
Really sorry for the size of the patch.

Differential Revision: https://phabricator.services.mozilla.com/D7753
2018-10-09 19:07:41 +02:00
Narcis Beleuzu
e7a8994c37 Backed out 5 changesets (bug 1496486) for valgrind bustages. CLOSED TREE
Backed out changeset d2f1e35ee4b7 (bug 1496486)
Backed out changeset 7f843f4ee162 (bug 1496486)
Backed out changeset 2f629a60f12c (bug 1496486)
Backed out changeset 4dd15fa31474 (bug 1496486)
Backed out changeset e8d8e2f3f00b (bug 1496486)
2018-10-09 19:44:51 +03:00
Emilio Cobos Álvarez
804148c319 Bug 1496486 - Remove nsCSSValue usage from font code. r=heycam
Really sorry for the size of the patch.

Differential Revision: https://phabricator.services.mozilla.com/D7753
2018-10-09 17:33:24 +02:00
Brindusan Cristian
3b4ca07db8 Backed out 5 changesets (bug 1496486) for build bustages on gfxUserFontSet.h. CLOSED TREE
Backed out changeset 6b740afea403 (bug 1496486)
Backed out changeset 5cf44e254ac3 (bug 1496486)
Backed out changeset 8e465202c355 (bug 1496486)
Backed out changeset 86382b2249f6 (bug 1496486)
Backed out changeset ab92ed3e0a23 (bug 1496486)
2018-10-09 16:58:38 +03:00
Emilio Cobos Álvarez
d6c743191f Bug 1496486 - Remove nsCSSValue usage from font code. r=heycam
Really sorry for the size of the patch.

Differential Revision: https://phabricator.services.mozilla.com/D7753
2018-10-09 15:33:03 +02:00
chansuke
41097313c4 Bug 1489862 - Format style component. r=emilio
This cherry-picks servo/servo#21652.
2018-09-09 17:03:19 +02:00
Emilio Cobos Álvarez
621ad1408b Bug 1469957: Move the error reporter into ParserContext. r=xidorn
Summary:
This should make it easier to report errors, and also reduce codesize.

The reason this was so generic is that error reporting was unconditionally
enabled and was super-hot, but now that's no longer the case after bug 1452143,
so we can afford the virtual call in the "error reporting enabled" case.

This opens the possibility of simplifying a lot the error setup as well, though
this patch doesn't do it.

Test Plan: No behavior change, so no new tests.

Reviewers: xidorn

Bug #: 1469957

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

MozReview-Commit-ID: F3wTdhX9MB5
2018-06-21 09:24:07 +02:00
Boris Zbarsky
5978e8417a Bug 1467134. Use Atomic<bool> for the staticpref version of layout.css.font-variations.enabled. r=emilio
Atomic<bool> is implemented in terms of AtomicBase<uint32_t>, because that way
you don't need to depend on atomic 1-byte operations.  That means that the rust
bindgen sees it as a u32, not a bool.

It's a bit concerning that the rust code seems to be doing an unsynchronized
read here, but given this is a RelaxedAtomic, that's probably ok.
2018-06-06 11:34:30 -04:00
Emilio Cobos Álvarez
afc1297f6d No bug - sync some changes from servo. r=me
MozReview-Commit-ID: HyRI5CfZh5w
2018-04-29 01:59:00 +02:00
Emilio Cobos Álvarez
e826b60e6a Bug 1455358: Use a generic type in preparation to fix animation. r=xidorn
Apart from a bit more code reuse.

MozReview-Commit-ID: 2BNOK6v30lX
2018-04-23 16:56:56 +02:00
Emilio Cobos Álvarez
5aeef4886f Bug 1455358: Update font-style to css-fonts-4. r=xidorn
This patch is meant to be squashed with the following two. This is an initial
strawman implementation that I wrote to unblock jwatt, cleanups and fixes
follow.

Note that this is style pretty much untested until jwatt's patches are ready,
since Gecko doesn't understand the angle at all, but I expect the fixes to be
minor.

MozReview-Commit-ID: 1Nq5DyCjaZe
2018-04-23 16:56:56 +02:00
Emilio Cobos Álvarez
5403bc5d9c Bug 1454883: Update font-stretch to css-fonts-4. r=xidorn
These won't "just work", pending changes from bug 1436048 to use a floating
point representation for those.

MozReview-Commit-ID: Bi5iTdFreMA
2018-04-23 16:56:55 +02:00
Emilio Cobos Álvarez
7b41eaf443 Bug 1454596: Update font-weight property and descriptor to css-fonts-4. r=xidorn
Need to change the tests still, but that should be trivial.

MozReview-Commit-ID: 27aS2UrgXjs
2018-04-19 12:49:37 +02:00