Commit Graph

13578 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
4b4ff83478 Bug 1689253 - Add a more sensible scrollbar size API to nsITheme, and use it to replace ScrollbarNonDisappearing. r=spohl
There's no reason we should need an scrollbar box to query the size of a
scrollbar. I plan to use this in the following patch to make the size of a
resizer not vary depending on whether the container has scrollbars or not,
which is what ultimately causes the reftest failure.

Differential Revision: https://phabricator.services.mozilla.com/D103302
2021-01-28 22:11:54 +00:00
Emily McDonough
c4b65cfdda Bug 1647843 - Add page-size parsing to Servo r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D102360
2021-01-27 00:47:56 +00:00
Mats Palmgren
b80f010fb4 Bug 1687239 part 3 - Remove the PluginProblem UA Widget and related CSS pseudos. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D102901
2021-01-25 11:53:57 +00:00
Emilio Cobos Álvarez
e3b4492853 Bug 1686613 - Add a non-native-theme media query. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D102457
2021-01-21 06:14:16 +00:00
longsonr
dd9e8bf312 Bug 1687136 - remove svg.transform-box.enabled pref r=emilio
It's been default true since Firefox 55 via bug 1208550

Differential Revision: https://phabricator.services.mozilla.com/D102093
2021-01-18 08:11:05 +00:00
Emilio Cobos Álvarez
562c44a853 Bug 1551040 - Add dark mode to plaintext.css, and a document rule to target plaintext documents. r=boris
We add two @-moz-document functions: `plain-text-document()`, matching the
obvious, and `unobservable-document()`, which matches a top-level document with
no opener. This is the equivalent check we do for automatic darkening of
`about:blank` here:

    https://searchfox.org/mozilla-central/rev/014fe72eaba26dcf6082fb9bbaf208f97a38594e/layout/base/PresShell.cpp#5282

The former we don't need to use, but it's nice to let user stylesheets target
plaintext documents properly (rather than relying on extensions or what not).

Note that these are not content-observable.

Add two tests: One showing that we produce different rendering when on dark
mode, and one showing that we produce the same one from an iframe, regardless
of dark mode.

Depends on D101517

Differential Revision: https://phabricator.services.mozilla.com/D101518
2021-01-17 14:44:41 +00:00
Emilio Cobos Álvarez
1ff0ef892e Bug 1551040 - Allow resource:// stylesheets to use chrome-only rules. r=boris
We'll use it to use @-moz-document from plaintext.css.

Differential Revision: https://phabricator.services.mozilla.com/D101516
2021-01-17 15:07:49 +00:00
Dorel Luca
dac45cc702 Backed out 3 changesets (bug 1551040) for Browser-chrome failures in browser/base/content/test/static/browser_parsable_css.js
Backed out changeset f48f479bcacd (bug 1551040)
Backed out changeset a6cd4b393999 (bug 1551040)
Backed out changeset 252cbf40efcb (bug 1551040)
2021-01-17 16:38:39 +02:00
Emilio Cobos Álvarez
71b5ff7515 Bug 1551040 - Add dark mode to plaintext.css, and a document rule to target plaintext documents. r=boris
We add two @-moz-document functions: `plain-text-document()`, matching the
obvious, and `unobservable-document()`, which matches a top-level document with
no opener. This is the equivalent check we do for automatic darkening of
`about:blank` here:

    https://searchfox.org/mozilla-central/rev/014fe72eaba26dcf6082fb9bbaf208f97a38594e/layout/base/PresShell.cpp#5282

The former we don't need to use, but it's nice to let user stylesheets target
plaintext documents properly (rather than relying on extensions or what not).

Note that these are not content-observable.

Add two tests: One showing that we produce different rendering when on dark
mode, and one showing that we produce the same one from an iframe, regardless
of dark mode.

Depends on D101517

Differential Revision: https://phabricator.services.mozilla.com/D101518
2021-01-16 19:15:59 +00:00
Emilio Cobos Álvarez
ad1d2a73aa Bug 1551040 - Allow resource:// stylesheets to use chrome-only rules. r=boris
We'll use it to use @-moz-document from plaintext.css.

Differential Revision: https://phabricator.services.mozilla.com/D101516
2021-01-16 18:58:27 +00:00
Bogdan Tara
c88a628881 Backed out 3 changesets (bug 1551040) for stylesheets related bustage CLOSED TREE
Backed out changeset 3822fe3e163d (bug 1551040)
Backed out changeset 032025f28d8f (bug 1551040)
Backed out changeset 1aeb38c2dce3 (bug 1551040)
2021-01-16 20:53:31 +02:00
Emilio Cobos Álvarez
fcace619be Bug 1551040 - Add dark mode to plaintext.css, and a document rule to target plaintext documents. r=boris
We add two @-moz-document functions: `plain-text-document()`, matching the
obvious, and `unobservable-document()`, which matches a top-level document with
no opener. This is the equivalent check we do for automatic darkening of
`about:blank` here:

    https://searchfox.org/mozilla-central/rev/014fe72eaba26dcf6082fb9bbaf208f97a38594e/layout/base/PresShell.cpp#5282

The former we don't need to use, but it's nice to let user stylesheets target
plaintext documents properly (rather than relying on extensions or what not).

Note that these are not content-observable.

Add two tests: One showing that we produce different rendering when on dark
mode, and one showing that we produce the same one from an iframe, regardless
of dark mode.

Depends on D101517

Differential Revision: https://phabricator.services.mozilla.com/D101518
2021-01-16 10:53:09 +00:00
Emilio Cobos Álvarez
2e092ef47c Bug 1551040 - Allow resource:// stylesheets to use chrome-only rules. r=boris
We'll use it to use @-moz-document from plaintext.css.

Differential Revision: https://phabricator.services.mozilla.com/D101516
2021-01-16 18:26:52 +00:00
Mihai Alexandru Michis
f1247be876 Backed out 4 changesets (bug 1551040) for causing mochitest failures.
CLOSED TREE

Backed out changeset 06c07b144db8 (bug 1551040)
Backed out changeset a6ebb45be432 (bug 1551040)
Backed out changeset 38f1416a92c3 (bug 1551040)
Backed out changeset 6c80881c8844 (bug 1551040)
2021-01-16 12:47:04 +02:00
Emilio Cobos Álvarez
281080fcd3 Bug 1551040 - Fix a warning by removing a now-unused use statement.
MANUAL PUSH: bustage on a CLOSED TREE.
2021-01-16 04:44:10 +01:00
Emilio Cobos Álvarez
08ce37b5ed Bug 1551040 - Add dark mode to plaintext.css, and a document rule to target plaintext documents. r=boris
We add two @-moz-document functions: `plain-text-document()`, matching the
obvious, and `unobservable-document()`, which matches a top-level document with
no opener. This is the equivalent check we do for automatic darkening of
`about:blank` here:

    https://searchfox.org/mozilla-central/rev/014fe72eaba26dcf6082fb9bbaf208f97a38594e/layout/base/PresShell.cpp#5282

The former we don't need to use, but it's nice to let user stylesheets target
plaintext documents properly (rather than relying on extensions or what not).

Note that these are not content-observable.

Add two tests: One showing that we produce different rendering when on dark
mode, and one showing that we produce the same one from an iframe, regardless
of dark mode.

Depends on D101517

Differential Revision: https://phabricator.services.mozilla.com/D101518
2021-01-16 03:19:38 +00:00
Emilio Cobos Álvarez
8798b5286b Bug 1551040 - Allow resource:// stylesheets to use chrome-only rules. r=boris
We'll use it to use @-moz-document from plaintext.css.

Differential Revision: https://phabricator.services.mozilla.com/D101516
2021-01-15 21:26:57 +00:00
Emilio Cobos Álvarez
f70b32956b Bug 1685796 - Return BAD_IMAGE when sync-decoding an incomplete, errored image. r=tnikkel
The only way that this can happen is if we get through the
ShouldTreatAsCompleteDueToSyncDecode check returning true in the case of
the image being errored.

https://hg.mozilla.org/integration/autoland/rev/645a4d6461ca was
supposed to deal with this, but my guess is that there is a slight race
condition in which the error status isn't there at the beginning, but is
there after the StartDecoding call.

It seems returning BAD_IMAGE rather than painting transparent if we hit
a broken image is a better thing to do than what we're doing now, and
should fix the intermittent issue.

Differential Revision: https://phabricator.services.mozilla.com/D101361
2021-01-12 02:28:00 +00:00
Emilio Cobos Álvarez
ce1517ae9c Bug 1685917 - Remove layout.css.unknown-webkit-pseudo-element. r=heycam
Enabled since bug 1486325 (Firefox 64).

Depends on D101290

Differential Revision: https://phabricator.services.mozilla.com/D101291
2021-01-11 01:53:12 +00:00
Emilio Cobos Álvarez
076de04bde Bug 1685917 - Remove layout.css.file-selector-button.enabled pref. r=heycam
On by default since bug 1662478 (Firefox 82)

Depends on D101289

Differential Revision: https://phabricator.services.mozilla.com/D101290
2021-01-11 01:55:50 +00:00
Emilio Cobos Álvarez
2b7ccb7ce1 Bug 1685917 - Remove the moz-focus-outer code. r=heycam
This pseudo does nothing and we successfully removed it in bug 1655859
(firefox 81).

Differential Revision: https://phabricator.services.mozilla.com/D101289
2021-01-11 01:57:17 +00:00
Emilio Cobos Álvarez
ff64e2ac94 Bug 1684909 - Make rendering aware of image-set(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D100700
2021-01-11 01:23:07 +00:00
Nicolas Silva
30d561c26b Bug 1683294 - Update rayon to 1.5 r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D100110
2021-01-07 15:29:27 +00:00
Tim Nguyen
76a6febc54 Bug 1685621 - Fix serialization of complex :not(). r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D101090
2021-01-08 10:12:00 +00:00
Emilio Cobos Álvarez
e36388740c Bug 1684909 - Don't allow to parse image-set(none). r=boris
`none` is not technically part of the `<image>` syntax. Tests in following
patches.

Depends on D100698

Differential Revision: https://phabricator.services.mozilla.com/D100699
2021-01-08 01:53:37 +00:00
Emilio Cobos Álvarez
8fd99157b7 Bug 1684909 - Implement source selection for image-set. r=boris
This is based on the logic in ResponsiveImageSelector::SelectImage (just
simplified because there's no viewport-dependent widths here).

Differential Revision: https://phabricator.services.mozilla.com/D100698
2021-01-08 09:54:23 +00:00
Emilio Cobos Álvarez
c2f1413e6b Bug 1685078 - Support full <image> syntax in list-style-image as per spec. r=jrmuizel,TYLin
This allows supporting image-set(), etc, and simplifies the bullet frame
code significantly, too thanks to two changes:

  * Instead of manually managing the image request, use the CSS image
    loader, with the `REQUEST_REQUIRES_REFLOW` flag, to handle image
    loads correctly. This didn't exist when this code was initially
    implemented, but we can nicely use it now.

  * Instead of re-implementing another WebRender command-builder thing,
    we can just reuse the nsImageRenderer code.

Differential Revision: https://phabricator.services.mozilla.com/D100774
2021-01-08 09:44:24 +00:00
Razvan Maries
c59d9181cb Backed out changeset e577d67c6c42 (bug 1685621) for perma failures on parse-not.html. CLOSED TREE 2021-01-08 09:19:12 +02:00
Tim Nguyen
93e412f7d4 Bug 1685621 - Fix serialization of complex :not(). r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D101090
2021-01-08 00:39:34 +00:00
Dorel Luca
7d7078d54e Backed out changeset 47c73e5e08a4 (bug 1685078) for multiple failures related to CSS. CLOSED TREE 2021-01-07 10:44:10 +02:00
Emilio Cobos Álvarez
3bc6746c91 Bug 1684770 - Implement parsing and serialization for most of image-set(). r=boris
This implements the basic image-set notation without the format()
function (for simplicity).

There's a remaining serialization issue (we should probably skip 1x
resolutions), but that's fine for now, I'll address this in a follow-up
when the feature is testable.

The intention is to do the image selection at computed value time
(keeping a selected index or such), but same, follow-up.

This also fixes an issue where the cors-mode for -moz-image-rect and
cross-fade() was getting ignored when parsing.

Differential Revision: https://phabricator.services.mozilla.com/D100640
2021-01-07 04:15:29 +00:00
Emilio Cobos Álvarez
9fbf3695e7 Bug 1685078 - Support full <image> syntax in list-style-image as per spec. r=jrmuizel,TYLin
This allows supporting image-set(), etc, and simplifies the bullet frame
code significantly, too thanks to two changes:

  * Instead of manually managing the image request, use the CSS image
    loader, with the `REQUEST_REQUIRES_REFLOW` flag, to handle image
    loads correctly. This didn't exist when this code was initially
    implemented, but we can nicely use it now.

  * Instead of re-implementing another WebRender command-builder thing,
    we can just reuse the nsImageRenderer code.

Differential Revision: https://phabricator.services.mozilla.com/D100774
2021-01-07 04:15:01 +00:00
Emilio Cobos Álvarez
925ab25267 Bug 1684220 - Remove some dead plugins code. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D100472
2021-01-04 20:12:05 +00:00
Emilio Cobos Álvarez
5d6e4f2da2 Bug 1684673 - Use an AutoTArray for atom arrays in attributes (class / part). r=smaug
These are never empty, and storing 4 elements inline seems worth it
given we also heap-allocate the array itself.

Depends on D100592

Differential Revision: https://phabricator.services.mozilla.com/D100593
2021-01-04 17:56:33 +00:00
Emilio Cobos Álvarez
38bd2ea5d8 Bug 1684673 - Inline nsTArray::deref. r=xidorn
This shaves >50ms if the compiler decides not to inline it, compilers are
sometimes dumb.

Depends on D100593

Differential Revision: https://phabricator.services.mozilla.com/D100594
2021-01-02 17:37:45 +00:00
Emilio Cobos Álvarez
c260c526dc Bug 1684673 - Reorder some conditions when handling class/part attributes. r=xidorn
Empty class attributes are uncommon.

Differential Revision: https://phabricator.services.mozilla.com/D100592
2021-01-02 04:50:01 +00:00
Boris Chiou
361f923f82 Bug 1683424 - Add UseBoxSizing for AspectRatio class, and fix non-replaced element usage. r=TYLin
Based on the spec, if the aspect-ratio property value is:
1) auto: we should always use content-box dimensions.
2) <ratio>: the aspect-ratio works with box sizing dimensions.
3) auto && <ratio>: we use content-box dimensions in all cases.

So we need an extra flag to address that we should use box-sizing or
always use content-box dimensions while computing the size in
ratio-dependent axis.

This also updates some wpts for non-replaced elements because we should
use content-box if aspect-ratio is 'auto && <ratio>'.

Differential Revision: https://phabricator.services.mozilla.com/D100072
2020-12-23 22:42:55 +00:00
Emilio Cobos Álvarez
2c49116410 Bug 1683295 - Make next_in_preorder generate slightly better code. r=heycam
This avoids the panic code in release builds.

Differential Revision: https://phabricator.services.mozilla.com/D100094
2020-12-23 02:59:11 +00:00
Emilio Cobos Álvarez
039592f4d8 Bug 1682003 - Avoid UTF-8 -> UTF-16 conversion during CSSOM serialization. r=heycam
This lifts a bunch of string conversions higher up the stack, but allows
us to make the servo code use utf-8 unconditionally, and seemed faster
in my benchmarking (see comment 0).

It should also make a bunch of attribute setters faster too (like
setting .cssText), now that we use UTF8String for them (we couldn't
because we couldn't specify different string types for the getter and
setters).

Differential Revision: https://phabricator.services.mozilla.com/D99590
2020-12-17 14:04:35 +00:00
Emilio Cobos Álvarez
076ee57756 Bug 1682174 - Remove layout.css.moz-any-is-is.enabled. r=boris
We shipped this, let's remove the MozAny code.

Differential Revision: https://phabricator.services.mozilla.com/D99607
2020-12-16 20:24:03 +00:00
Emilio Cobos Álvarez
816e05c71f Bug 1475316 - Expose :autofill behind a pref to content, and add :-webkit-autofill as a compat alias. r=nordzilla
Nightly only until we get resolutions on the relevant spec issues.

Differential Revision: https://phabricator.services.mozilla.com/D99296
2020-12-16 08:16:16 +00:00
Emilio Cobos Álvarez
9715d1f96c Bug 1475316 - Rename -moz-autofill to just autofill. r=geckoview-reviewers,esawin,boris
No compat impact, as this remains an internal pseudo-class for the time
being.

Differential Revision: https://phabricator.services.mozilla.com/D99295
2020-12-16 08:16:08 +00:00
Dorel Luca
67c6219a2e Backed out changeset a9b7489b5a3a (bug 1475316) for Browser-chrome failures in browser/base/content/test/static/browser_parsable_css.js. CLOSED TREE 2020-12-16 03:42:27 +02:00
Emilio Cobos Álvarez
92c6fb3495 Bug 1475316 - Rename -moz-autofill to just autofill. r=geckoview-reviewers,esawin,boris
No compat impact, as this remains an internal pseudo-class for the time
being.

Differential Revision: https://phabricator.services.mozilla.com/D99295
2020-12-15 19:39:59 +00:00
Kartik Gautam
f7ffcd09fb Bug 1679758 - Remove trailing empty lines r=sylvestre,marionette-reviewers,jgraham
Differential Revision: https://phabricator.services.mozilla.com/D99595
2020-12-15 10:34:54 +00:00
Dragana Damjanovic
96b916ebe1 Bug 1682262 - Update neqo to 0.4.18 and bindgen to 0.56 r=necko-reviewers,emilio,valentin
Differential Revision: https://phabricator.services.mozilla.com/D99665
2020-12-14 18:38:49 +00:00
Emilio Cobos Álvarez
6f9b45e8b3 Bug 1682295 - Remove some text-decoration prefs that are always on. r=layout-reviewers,mats
Differential Revision: https://phabricator.services.mozilla.com/D99675
2020-12-14 16:14:35 +00:00
Emilio Cobos Álvarez
330c920720 Bug 1603455 - Remove layout.css.xul-tree-pseudos.content.enabled. r=heycam
We unshipped these a while ago and left the pref just for testing
purposes. But now all the reftests using it were conveniently migrated
to chrome:// tests, so we no longer need it.

Differential Revision: https://phabricator.services.mozilla.com/D56950
2020-12-14 13:43:50 +00:00
Dorel Luca
7320ae982a Backed out changeset f3aaf04fce3b (bug 1679758) for Devtool failures in browser_styleeditor_syncAddProperty.js. CLOSED TREE 2020-12-13 16:38:21 +02:00
Kartik Gautam
caf549c200 Bug 1679758 - Remove trailing empty lines r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D99595
2020-12-13 13:28:30 +00:00