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

1424 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 597b7bc37d Bug 1729330 - Add a simple CSSLayerRule implementation. r=smaug
The specifics of how this is going to work are still getting spec'd /
discussed in https://github.com/w3c/csswg-drafts/issues/6576, but this
allows DevTools to work fine and the feature to be complete enough for
Nightly experimentation (with the other in-flight patches).

Otherwise devtools crashes when trying to inspect pages that use them.

Differential Revision: https://phabricator.services.mozilla.com/D124656
2021-09-08 11:18:32 +00:00
Emilio Cobos Álvarez 9309bf97fc Bug 1699217 - Implement @import layer|layer(<name>). r=boris
This works modulo the existing nested layer order bug. Will be covered
by WPT /css/css-cascade/layer-import.html once the feature is enabled (I
can probably enable it right away for those tests, but I'd rather fix
the obvious bugs first).

Differential Revision: https://phabricator.services.mozilla.com/D124538
2021-09-06 16:43:04 +00:00
Sandor Molnar b2955e8a9d Backed out changeset 34c1b1078f03 (bug 1699217) for causing wpt failures in /css/css-cascade/layer-import. CLOSED TREE 2021-09-06 19:32:53 +03:00
Emilio Cobos Álvarez 1bd2094286 Bug 1699217 - Implement @import layer|layer(<name>). r=boris
This works modulo the existing nested layer order bug. Will be covered
by WPT /css/css-cascade/layer-import.html once the feature is enabled (I
can probably enable it right away for those tests, but I'd rather fix
the obvious bugs first).

Differential Revision: https://phabricator.services.mozilla.com/D124538
2021-09-06 11:15:57 +00:00
Emilio Cobos Álvarez d71b30b35d Bug 1728754 - Plumb layer order through ApplicableDeclarationBlock, and make it have an effect. r=boris
Same, I want to land this separately to see if it affects
micro-benchmarks. If so, we might want to pack the layer order
_somewhere_ (though in this case I'm not sure where, tbh).

With this, layer rules should have an effect on the page. There are
a few things missing before being able to enable them:

 * Fix nested layer order in some cases (when parent layers are declared
   out of order, see the previous commit mentioning this).
 * Some kind of OM representation, perhaps.
 * Tests of course, which are coming in bug 1728722 and bug 1727276.

But this should be enough to allow playing with them.

Depends on D124337

Differential Revision: https://phabricator.services.mozilla.com/D124338
2021-09-06 10:02:07 +00:00
Emilio Cobos Álvarez 13245e72d6 Bug 1728754 - Add layer_order to rules. r=boris
I want to land this separately because we might want to get smarter with
the size of the Rule struct (maybe restricting layer order to a u8 per
scope and packing it with the source order, since 255 layers seem
plenty), but I'd rather do the obvious thing for now.

Depends on D124336

Differential Revision: https://phabricator.services.mozilla.com/D124337
2021-09-06 09:54:02 +00:00
Emilio Cobos Álvarez 4b3dc20891 Bug 1728617 - Tweak at-rule parsing APIs to support cascade layers. r=boris
This needs https://github.com/servo/rust-cssparser/pull/287 and a
cssparser update.

Differential Revision: https://phabricator.services.mozilla.com/D124216
2021-09-03 09:26:10 +00:00
Emilio Cobos Álvarez 58c214fd32 Bug 856337 - Move image-rendering out of mako. r=dholbert
It's easier to touch in the future that way, even though the derive list is
massive.

Differential Revision: https://phabricator.services.mozilla.com/D124377
2021-09-03 08:56:42 +00:00
Noemi Erli f3a236c514 Backed out 2 changesets (bug 856337) for causing xpcshell failures in test_css-properties-db.js CLOSED TREE
Backed out changeset 7070c7cea8ec (bug 856337)
Backed out changeset edc12b36439f (bug 856337)
2021-09-03 01:36:17 +03:00
Emilio Cobos Álvarez a10cd487f5 Bug 856337 - Move image-rendering out of mako. r=dholbert
It's easier to touch in the future that way, even though the derive list is
massive.

Differential Revision: https://phabricator.services.mozilla.com/D124377
2021-09-02 20:28:39 +00:00
Nazım Can Altınova 6788f940ac Bug 1652560 - Remove the unused "gecko_profiler" feature from servo r=emilio
This was being used when we had special code for gecko profiler in the servo
codebase but we just removed the last one. This is safe to remove now. The
"enabled" feature in the gecko-profiler crate is being controlled by
gkrust-shared directly now.

Differential Revision: https://phabricator.services.mozilla.com/D120796
2021-07-30 21:49:23 +00:00
Nazım Can Altınova ef8cd9ad96 Bug 1652560 - Remove the old profiler label frames code in the servo codebase and replace it with the new API r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D120795
2021-07-30 21:49:22 +00:00
Emilio Cobos Álvarez 02bbf0389a Bug 1722299 - Initial support for the color-scheme CSS property. r=mstange
Add initial support for the color-scheme CSS property, allowing pages to
choose between light and dark system colors per-element, and such.

Things that are left to do so that this can be enabled by default:

 * Dark system colors on Windows / Android / Standins.
 * Dark Canvas/CanvasText/Link visited colors (which right now are set
   via PreferenceSheet).
 * Dark form controls in nsNativeBasicTheme.
 * Processing the color-scheme meta tag to fill-in
   Document::mColorSchemeBits.

But this seems like enough progress to be landable on its own.

Differential Revision: https://phabricator.services.mozilla.com/D120843
2021-07-27 15:50:48 +00:00
Emilio Cobos Álvarez f501d497d2 Bug 1720710 - Add system-ui boilerplate. r=jfkthame
Alias -apple-system to it, and put it behind a pref for now. This is
pretty boring (read: uncontroversial hopefully) code. The follow-up work
is modifying StaticPresData to look up the fonts using system APIs,
probably. Maybe a bit more work if on macOS they can't be named.

Differential Revision: https://phabricator.services.mozilla.com/D119984
2021-07-27 11:11:51 +00:00
Emilio Cobos Álvarez e54b955075 Bug 1718337 - More fine-grained viewport units invalidation. r=layout-reviewers,jfkthame
This should speed up window resize significantly.

Differential Revision: https://phabricator.services.mozilla.com/D118878
2021-07-07 11:16:20 +00:00
Emilio Cobos Álvarez fb069248c0 Bug 1716045 - Unify font-family storage. r=mats,jfkthame
This changes font-family storage to reuse the rust types, removing a
bunch of code while at it. This allows us to, for example, use a single
static font family for -moz-bullet and clone it, rather than creating a
lot of expensive copies.

Differential Revision: https://phabricator.services.mozilla.com/D118011
2021-06-18 19:35:50 +00:00
Emilio Cobos Álvarez 96038c61cc Bug 1716045 - Implement ArcSlice copy/move-assignment operators. r=jfkthame
We're going to use them.

Differential Revision: https://phabricator.services.mozilla.com/D118015
2021-06-18 19:35:49 +00:00
Emilio Cobos Álvarez a8f090b432 Bug 1715748 - Add an internal -moz-system-color() function to expose both light and dark system colors. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D117416
2021-06-14 15:01:25 +00:00
Jonathan Kew 00a8f91ec3 Bug 1711479 - Implement CSS support for the optional adjustment-basis metric keywords for the font-size-adjust property (enabled on Nightly only for now). r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D115596
2021-06-14 12:32:36 +00:00
Boris Chiou 5918c183ff Bug 1340422 - Part 7: Notify style system when SMIL animation changes d attribute. r=emilio
So we update d property in the style system as well. This makes sure we
have the correct computed style and the correct rendering result.

Differential Revision: https://phabricator.services.mozilla.com/D115570
2021-06-09 21:17:23 +00:00
Boris Chiou d61e621388 Bug 1340422 - Part 1: Add SVG d property in CSS. r=emilio
Add d property for style system. d property only supports path() for now
and it has the functional notation without fill rule.

https://github.com/w3c/svgwg/issues/320#issuecomment-414462645

Differential Revision: https://phabricator.services.mozilla.com/D81237
2021-06-09 21:17:21 +00:00
Csoregi Natalia 1fa90cf8b2 Backed out 5 changesets (bug 1711479) for multiple failures e.g. test_css-properties-db.js. CLOSED TREE
Backed out changeset f1b19a0463cd (bug 1711479)
Backed out changeset 3d1d2b4a2713 (bug 1711479)
Backed out changeset 4e689776fe5d (bug 1711479)
Backed out changeset 85b6b2648f60 (bug 1711479)
Backed out changeset a15cec1f0554 (bug 1711479)
2021-06-07 13:55:29 +03:00
Jonathan Kew 57c18282b4 Bug 1711479 - Implement CSS support for the optional adjustment-basis metric keywords for the font-size-adjust property (enabled on Nightly only for now). r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D115596
2021-06-07 08:58:12 +00:00
Emilio Cobos Álvarez a292bdd58b Bug 1707310 - Refactor the author sheet cache to keep alive the relevant StylesheetContents. r=boris
This prevents incorrectly reusing cached results when the contents go
away and new contents are allocated with the same address.

Note that these keep alive transitively everything else under them, so
all other medialist keys don't need this.

By making this a proper hashmap it should also improve cache lookup
times if the cache grows too big.

Differential Revision: https://phabricator.services.mozilla.com/D115202
2021-05-19 09:00:38 +00:00
Emilio Cobos Álvarez 1cdf344860 Bug 1680387 - Apply intrinsic image resolution as appropriate in layout/style/dom, and update test expectations. r=tnikkel
This should be mostly straight-forward, since we have code for this
anyways for image-set() and srcset.

The only thing is that we were using floats for resolution, but since
EXIF allows you to scale each axis separately, we now need to pass an
image::Resolution instead.

The main outstanding issue is the spec comment mentioned in the previous
patch, about what happens if you have srcset/image-set and the image
density specified together. For now I've implemented what the
image-set() spec says, but this is subject to change before shipping of
course.

Differential Revision: https://phabricator.services.mozilla.com/D113265
2021-05-05 09:41:24 +00:00
Iulian Moraru b21df91635 Backed out 3 changesets (bug 1680387) for causing browser chrome failures on browser_bug592641.js. CLOSED TREE
Backed out changeset 65616921e520 (bug 1680387)
Backed out changeset 51531850a9a2 (bug 1680387)
Backed out changeset 0c1c5e1f901b (bug 1680387)
2021-05-04 16:28:17 +03:00
Emilio Cobos Álvarez 11ad9c7bcd Bug 1680387 - Apply intrinsic image resolution as appropriate in layout/style/dom, and update test expectations. r=tnikkel
This should be mostly straight-forward, since we have code for this
anyways for image-set() and srcset.

The only thing is that we were using floats for resolution, but since
EXIF allows you to scale each axis separately, we now need to pass an
image::Resolution instead.

The main outstanding issue is the spec comment mentioned in the previous
patch, about what happens if you have srcset/image-set and the image
density specified together. For now I've implemented what the
image-set() spec says, but this is subject to change before shipping of
course.

Differential Revision: https://phabricator.services.mozilla.com/D113265
2021-05-04 10:24:07 +00:00
Emilio Cobos Álvarez 34a9a0f457 Bug 1705605 - Implement accent-color in nsNativeBasicTheme. r=mstange
This is a new addition for CSS UI Level 4:

  https://drafts.csswg.org/css-ui-4/#widget-accent

I want to provide feedback on some spec issues, and thought it was a
kinda neat thing to prototype (it also makes testing contrast and such
with random GTK themes easier).

For now enable for Nightly only.

Differential Revision: https://phabricator.services.mozilla.com/D112312
2021-04-27 10:41:00 +00:00
Emilio Cobos Álvarez 8e47e5abc2 Bug 1705877 - image-set() should influence intrinsic size of the image. r=dholbert,layout-reviewers
https://drafts.csswg.org/css-images-4/#image-set-notation has:

> [...] it also specifies the image’s natural resolution, overriding any other
> source of data that might supply a natural resolution.

Astounding that there was literally no WPT for this at all. I added three: one
for backgrounds, one for list-style-image, and one for `content`. Cursor is not
handled on this patch because that one requires a fair amount of extra work.

Differential Revision: https://phabricator.services.mozilla.com/D112474
2021-04-19 19:55:27 +00:00
Emilio Cobos Álvarez 2bf7e6cfc9 Bug 1704179 - Add a CSS error to the console when using non-featureless :host selectors. r=boris
(which would never match by definition).

Differential Revision: https://phabricator.services.mozilla.com/D111610
2021-04-15 09:33:58 +00:00
Emilio Cobos Álvarez a4272ff381 Bug 1704332 - Move moz-control-character-visibility out of mako, and remove support for gecko_pref_controlled_initial_value. r=xidorn
No behavior change, just cleanup. Actually seem this technically _adds_ some code even
though it's a cleanup, but that's mostly because of the wrapping of the
derive list.  The resulting code is simpler (more in-line with our usual
things, so I think it's an improvement).

Differential Revision: https://phabricator.services.mozilla.com/D111551
2021-04-11 17:39:12 +00:00
Emilio Cobos Álvarez 30483671c1 Bug 1703984 - Clean up text-justify, and make distribute a parse-time alias. r=xidorn
Since it's simpler, as discussed in the CSSWG issue.

Differential Revision: https://phabricator.services.mozilla.com/D111346
2021-04-10 03:45:51 +00:00
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
Emilio Cobos Álvarez f91affad79 Bug 1699088 - Use a single system font definition rather than two. r=cmartin
Follow the pattern we use for system colors.

Differential Revision: https://phabricator.services.mozilla.com/D108822
2021-03-24 22:57:37 +00:00
Jonathan Kew c34bf0ad4f Bug 1681691 - Also remove unnecessary 'unsafe' from a bunch of FontFaceRule descriptor getters. r=emilio
Depends on D109287

Differential Revision: https://phabricator.services.mozilla.com/D109344
2021-03-23 17:10:23 +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 03752c9177 Bug 1681691 - Also remove unnecessary 'unsafe' from a bunch of FontFaceRule descriptor getters. r=emilio
Depends on D109287

Differential Revision: https://phabricator.services.mozilla.com/D109344
2021-03-23 08:37:07 +00: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
Emily McDonough 44fd9a31e7 Bug 1647845 Part 2 - Add page-size attribute to nsStyleStruct and property parsing r=emilio
This parsing is hidden behind the pref layout.css.page-size.enabled.

It isn't ideal that we parse this as a property, but we can't treat it as a
descriptor because of compatibility issues with other browsers. There are also
outstanding spec issues related to how descriptors like page-size are cascaded,
and whether the !important specifier is valid or not.

Differential Revision: https://phabricator.services.mozilla.com/D103958
2021-03-22 19:08:59 +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 74d9e1842c Bug 1681691 - Also remove unnecessary 'unsafe' from a bunch of FontFaceRule descriptor getters. r=emilio
Depends on D109287

Differential Revision: https://phabricator.services.mozilla.com/D109344
2021-03-22 15:40:53 +00: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
Butkovits Atila cfce9044e0 Backed out 2 changesets (bug 1647845) for causing build bustages. CLOSED TREE
Backed out changeset 8822a2e578f2 (bug 1647845)
Backed out changeset 5a44095128e0 (bug 1647845)
2021-03-19 01:07:18 +02:00
Emily McDonough d75c4dc4be Bug 1647845 Part 2 - Add page-size attribute to nsStyleStruct and property parsing r=emilio
This parsing is hidden behind the pref layout.css.page-size.enabled.

It isn't ideal that we parse this as a property, but we can't treat it as a
descriptor because of compatibility issues with other browsers. There are also
outstanding spec issues related to how descriptors like page-size are cascaded,
and whether the !important specifier is valid or not.

Differential Revision: https://phabricator.services.mozilla.com/D103958
2021-03-18 22:26:24 +00:00
Noemi Erli b4700b1965 Backed out 2 changesets (bug 1647845) for causing assertions in nsStyleStruct.cpp CLOSED TREE
Backed out changeset 1564d93002de (bug 1647845)
Backed out changeset bc1815fb4405 (bug 1647845)
2021-03-16 23:01:50 +02:00
Emily McDonough 626bdb9278 Bug 1647845 Part 2 - Add page-size attribute to nsStyleStruct and property parsing r=emilio
This parsing is hidden behind the pref layout.css.page-size.enabled.

It isn't ideal that we parse this as a property, but we can't treat it as a
descriptor because of compatibility issues with other browsers. There are also
outstanding spec issues related to how descriptors like page-size are cascaded,
and whether the !important specifier is valid or not.

Differential Revision: https://phabricator.services.mozilla.com/D103958
2021-03-16 19:54:27 +00:00