15969 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
73f801c434 Bug 1879349 - Improve featureless host matching. r=dshin
Remove host-multiple-006 because it's a bit-identical copy of
host-multiple-002.html.

Add a test for the specific descendant combinator (bug 1950290).

Differential Revision: https://phabricator.services.mozilla.com/D240033
2025-02-28 19:53:05 +00:00
Jonathan Kew
ea08d9b07a Bug 1950844 - Support spelling-error and grammar-error values of text-decoration-line. r=tlouw
Differential Revision: https://phabricator.services.mozilla.com/D239913
2025-02-28 12:56:58 +00:00
Mike Hommey
0d9b7da75a Bug 1950258 - Use mozbuild::config items instead of reading extra-bindgen-flags files. r=firefox-build-system-reviewers,sergesanspaille
We add NSS_CFLAGS in preparation of equivalent changes to crates that
are vendored in third-party/rust that use netwerk/socket/neqo/extra-bindgen-flags
(that we thus keep around for now).

Differential Revision: https://phabricator.services.mozilla.com/D239831
2025-02-27 19:31:17 +00:00
Emilio Cobos Álvarez
f5b2976c45 Bug 1922298 - Add a fast way of tagging frames as captured, and make that view-transition-name a stacking-context-creating property. r=view-transitions-reviewers,boris
Differential Revision: https://phabricator.services.mozilla.com/D239377
2025-02-26 12:29:49 +00:00
Emilio Cobos Álvarez
e70b45f064 Bug 1919333 - Fix inheritance of ::view-transition pseudos. r=view-transitions-reviewers,boris
As per spec they inherit like "part-like" pseudos.

Differential Revision: https://phabricator.services.mozilla.com/D239379
2025-02-26 12:29:48 +00:00
Cristina Horotan
5bc51022a0 Backed out 9 changesets (bug 1922300, bug 1950362, bug 1919333, bug 1950176, bug 1948058, bug 1950177, bug 1922298) for causing multiple Wr failures
Backed out changeset 54c87e09251a (bug 1919333)
Backed out changeset 813274ba35a0 (bug 1919333)
Backed out changeset a37d91fc2a7a (bug 1950362)
Backed out changeset 97f67f9048b5 (bug 1922298)
Backed out changeset 4c11b366fcaf (bug 1919333)
Backed out changeset dbde76fa73a9 (bug 1948058)
Backed out changeset ba3d9d95cd56 (bug 1922300)
Backed out changeset 0fe786bf2709 (bug 1950177)
Backed out changeset 8d9f52e91779 (bug 1950176)
2025-02-26 06:23:09 +02:00
Emilio Cobos Álvarez
90fa7916f7 Bug 1922298 - Add a fast way of tagging frames as captured, and make that view-transition-name a stacking-context-creating property. r=view-transitions-reviewers,boris
Differential Revision: https://phabricator.services.mozilla.com/D239377
2025-02-25 22:48:31 +00:00
Emilio Cobos Álvarez
0bb8afd799 Bug 1919333 - Fix inheritance of ::view-transition pseudos. r=view-transitions-reviewers,boris
As per spec they inherit like "part-like" pseudos.

Differential Revision: https://phabricator.services.mozilla.com/D239379
2025-02-25 22:48:30 +00:00
Emilio Cobos Álvarez
e753cec6a7 Bug 1950269 - Optimize removing sheets from the end. r=firefox-style-system-reviewers,tlouw
Removing from the front is expensive anyways because it reallocates the
array.

Differential Revision: https://phabricator.services.mozilla.com/D239500
2025-02-25 18:18:06 +00:00
David Shin
44a8158034 Bug 1947482: Anchor resolution takes axis, not side. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D238962
2025-02-20 21:22:10 +00:00
Alexandru Marc
3cc336f1e0 Backed out changeset 4d1903e35fc5 (bug 1947482) for causing build bustages @ ServoStyleConstsInlines.h 2025-02-20 21:34:50 +02:00
David Shin
894d84866a Bug 1947482: Anchor resolution takes axis, not side. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D238962
2025-02-20 18:26:22 +00:00
Emilio Cobos Álvarez
a1164bbc70 Bug 1924741 - Add mica acrylic menu support behind a pref. r=win-reviewers,desktop-theme-reviewers,rkraesig,dao
Off by default pending UX review etc.

Differential Revision: https://phabricator.services.mozilla.com/D238194
2025-02-20 14:08:52 +00:00
Jonathan Kew
7d3c12b7ca Bug 1948878 - Make color-mix() correctly handle 'longer hue' when one side of the interpolation has a missing hue component. r=firefox-style-system-reviewers,emilio
In the case of "longer hue", even though we're going to consider both sides
of the mix to have the same hue value, we still need to do an interpolation
to find the proper intermediate values; we can't just use a constant hue
across the entire range of the interpolation even though both ends have the
same value.

Differential Revision: https://phabricator.services.mozilla.com/D238772
2025-02-19 15:48:15 +00:00
Steven Novaryo
59aed180b6 Bug 1946679 - Expose and rename style::value::specified::gecko::IntersectionObserverRootMargin. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D237514
2025-02-18 09:54:14 +00:00
Emilio Cobos Álvarez
ecc0677523 Bug 1947961 - Implement basic "update pseudo-element styles" steps. r=view-transitions-reviewers,boris
Pretty bare bones (some properties missing), but this allows the
transition pseudo-elements to be in the right place.

We need to implement live capturing / integrate nical's work to display
the "new" image properly, but we'll get to that. Meanwhile this should
be uncontroversial.

Differential Revision: https://phabricator.services.mozilla.com/D238005
2025-02-14 07:50:18 +00:00
Emilio Cobos Álvarez
edf65b2923 Bug 1947746 - View transition dynamic style rules. r=view-transitions-reviewers,firefox-style-system-reviewers,boris
This should be rather uncontroversial. I filed bug 1947747 for inspector
support for this (which should work similarly than for presentational
hints).

Differential Revision: https://phabricator.services.mozilla.com/D237886
2025-02-13 09:57:35 +00:00
Emilio Cobos Álvarez
c67d8c9c9c Bug 1946764 - Support non-boolean media query prefs via -moz-pref(). r=firefox-style-system-reviewers,desktop-theme-reviewers,settings-reviewers,tabbrowser-reviewers,places-reviewers,sidebar-reviewers,urlbar-reviewers,firefox-ai-ml-reviewers,dao,mconley,dshin,mak
Allow querying int and string prefs too via functional syntax:

```
@media -moz-pref("pref-name", <value>) {
```

No argument means the pref exists and has a non-zero/false/empty value.
Unfortunately stylelint is still unhappy with this so we need to keep
the annoying comments...

Differential Revision: https://phabricator.services.mozilla.com/D237275
2025-02-12 12:14:42 +00:00
David Shin
d138dbfb8c Bug 1942715: Part 5 - Remove Maybe* optimizations for insets, always working with anchor-resolved insets. r=firefox-style-system-reviewers,emilio
Reasoning with these functions gets confusing, because anchor
functions can become percentage as well as auto.
Defer optimization for now.

Differential Revision: https://phabricator.services.mozilla.com/D237098
2025-02-12 01:31:30 +00:00
David Shin
276e5aef75 Bug 1942715: Part 3 - Remove old & now-unused anchor resolution infrastructure in CalcNode. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D237096
2025-02-12 01:31:30 +00:00
David Shin
72e65118b1 Bug 1942715: Part 2 - Use the new resolution path for resolving anchor functions in math functions for insets. r=firefox-style-system-reviewers,emilio
Try to resolve math function nodes with percentage basis of zero. Invalid
anchor functions will make the value Invalid-At-Computed-Value-Time (i.e.
`auto`), so that is handled. Otherwise, `CalcNode` existing indicates use
of percentage values and/or anchor functions. If only anchor functions
are used, we can use the resolved value as-is - otherwise, it must be
re-resolved before its value is queried.
This is of course redundant, and may require some optimization down
the line (We don' eagerly get percentage basis since that requires
ancestor traversal that may be wasted).

Differential Revision: https://phabricator.services.mozilla.com/D237095
2025-02-12 01:31:29 +00:00
David Shin
6a644421d2 Bug 1942715: Part 1 - Implement anchor resolution that takes the same code path as percentage resolution. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D237094
2025-02-12 01:31:29 +00:00
Butkovits Atila
e51ff081c6 Backed out 6 changesets (bug 1942715) for causing build bustages. CLOSED TREE
Backed out changeset 1433202bd2f3 (bug 1942715)
Backed out changeset d9ce2be09cd0 (bug 1942715)
Backed out changeset 9789581a42a3 (bug 1942715)
Backed out changeset 9a18f1aca5d5 (bug 1942715)
Backed out changeset 46bd0cb031f4 (bug 1942715)
Backed out changeset 73fec8bae045 (bug 1942715)
2025-02-12 01:45:46 +02:00
David Shin
d2c459be6d Bug 1942715: Part 5 - Remove Maybe* optimizations for insets, always working with anchor-resolved insets. r=firefox-style-system-reviewers,emilio
Reasoning with these functions gets confusing, because anchor
functions can become percentage as well as auto.
Defer optimization for now.

Differential Revision: https://phabricator.services.mozilla.com/D237098
2025-02-11 21:06:24 +00:00
David Shin
b53ff2c280 Bug 1942715: Part 3 - Remove old & now-unused anchor resolution infrastructure in CalcNode. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D237096
2025-02-11 21:06:24 +00:00
David Shin
aada1ca6dd Bug 1942715: Part 2 - Use the new resolution path for resolving anchor functions in math functions for insets. r=firefox-style-system-reviewers,emilio
Try to resolve math function nodes with percentage basis of zero. Invalid
anchor functions will make the value Invalid-At-Computed-Value-Time (i.e.
`auto`), so that is handled. Otherwise, `CalcNode` existing indicates use
of percentage values and/or anchor functions. If only anchor functions
are used, we can use the resolved value as-is - otherwise, it must be
re-resolved before its value is queried.
This is of course redundant, and may require some optimization down
the line (We don' eagerly get percentage basis since that requires
ancestor traversal that may be wasted).

Differential Revision: https://phabricator.services.mozilla.com/D237095
2025-02-11 21:06:23 +00:00
David Shin
f8c5c040f9 Bug 1942715: Part 1 - Implement anchor resolution that takes the same code path as percentage resolution. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D237094
2025-02-11 21:06:23 +00:00
Butkovits Atila
fd3125f8e5 Backed out 6 changesets (bug 1942715) for causing build bustages. CLOSED TREE
Backed out changeset 7c5cfe6bbaeb (bug 1942715)
Backed out changeset cc5530b02046 (bug 1942715)
Backed out changeset 5a534f455cc3 (bug 1942715)
Backed out changeset ecdd7307c9f1 (bug 1942715)
Backed out changeset 05a62c484807 (bug 1942715)
Backed out changeset a9825ee69550 (bug 1942715)
2025-02-11 22:17:26 +02:00
David Shin
a3d93f384a Bug 1942715: Part 5 - Remove Maybe* optimizations for insets, always working with anchor-resolved insets. r=firefox-style-system-reviewers,emilio
Reasoning with these functions gets confusing, because anchor
functions can become percentage as well as auto.
Defer optimization for now.

Differential Revision: https://phabricator.services.mozilla.com/D237098
2025-02-11 18:19:56 +00:00
David Shin
404499b5d8 Bug 1942715: Part 3 - Remove old & now-unused anchor resolution infrastructure in CalcNode. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D237096
2025-02-11 18:19:55 +00:00
David Shin
c69b19f02a Bug 1942715: Part 2 - Use the new resolution path for resolving anchor functions in math functions for insets. r=firefox-style-system-reviewers,emilio
Try to resolve math function nodes with percentage basis of zero. Invalid
anchor functions will make the value Invalid-At-Computed-Value-Time (i.e.
`auto`), so that is handled. Otherwise, `CalcNode` existing indicates use
of percentage values and/or anchor functions. If only anchor functions
are used, we can use the resolved value as-is - otherwise, it must be
re-resolved before its value is queried.
This is of course redundant, and may require some optimization down
the line (We don' eagerly get percentage basis since that requires
ancestor traversal that may be wasted).

Differential Revision: https://phabricator.services.mozilla.com/D237095
2025-02-11 18:19:55 +00:00
David Shin
0e977d0dad Bug 1942715: Part 1 - Implement anchor resolution that takes the same code path as percentage resolution. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D237094
2025-02-11 18:19:54 +00:00
Butkovits Atila
3bc2e1759e Backed out changeset f1089681a6c6 (bug 1946764) for causing failures at browser_preferences_usage.js. 2025-02-11 21:24:36 +02:00
Emilio Cobos Álvarez
bab7f36d0f Bug 1946764 - Support non-boolean media query prefs via -moz-pref(). r=firefox-style-system-reviewers,desktop-theme-reviewers,settings-reviewers,tabbrowser-reviewers,places-reviewers,sidebar-reviewers,urlbar-reviewers,firefox-ai-ml-reviewers,dao,mconley,dshin,mak
Allow querying int and string prefs too via functional syntax:

```
@media -moz-pref("pref-name", <value>) {
```

No argument implies bool. Unfortunately stylelint is still unhappy with
this so we need to keep the annoying comments...

Differential Revision: https://phabricator.services.mozilla.com/D237275
2025-02-11 17:26:17 +00:00
Emilio Cobos Álvarez
0052469531 Bug 1945342 - Prototype style() container queries. r=dshin
Not intended to be a full implementation, but more of an off-by-default
prototype with the right pieces in place.

This parses and evaluates the queries, but:

 * They don't evaluate against the right style (I didn't change the
   container query lookup yet).

 * They're not invalidated properly (this changes selector matching as a
   result of style changes which is not currently dealt with).

Still I want to get this in since it's kinda straight-forward and needed
for the eventual full implementation.

There are some tests that start running now that I'd need to update, try
in progress.

Differential Revision: https://phabricator.services.mozilla.com/D236468
2025-02-07 18:42:26 +00:00
Jonathan Kew
b2e556747a Bug 1945641 - patch 1 - Add an oblique-only value to the font-synthesis-style property. r=firefox-style-system-reviewers,emilio
Style system support for the new oblique-only value of font-synthesis-style.
(Applying this during rendering will be the next patch.)

Differential Revision: https://phabricator.services.mozilla.com/D236912
2025-02-07 10:29:26 +00:00
Jonathan Kew
a0e8acbf5c Bug 1945637 - Remove the separate 'normal' value of font-style types, as it is a synonym for 'oblique 0deg'; always serialize 'oblique 0deg' as 'normal'. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D236733
2025-02-06 19:38:57 +00:00
Alexandru Marc
8c93644e3b Backed out changeset 46540ac0fc04 (bug 1945637) for causing multiple failures CLOSED TREE 2025-02-06 04:37:03 +02:00
Emilio Cobos Álvarez
1d2560847e Bug 1946161 - Remove unused tab-scroll-arrow-* appearance values. r=stransky
Noticed while looking around this code.

Differential Revision: https://phabricator.services.mozilla.com/D236906
2025-02-05 22:05:39 +00:00
Emilio Cobos Álvarez
32fcd9b466 Bug 1946161 - Simplify spinner-related appearance values. r=stransky,mac-reviewers,spohl
* Spinner and spinner-textfield are totally unused.
 * up/down buttons are only used for <input type=number>. The only
   number inputs we have in our UI use the non-native theme already (the
   print preview dialog).
 * Windows already always uses non-native spinner up/down unconditionally, and
   linux does it on mismatched color scheme.

We can probably live without native theme support for these. It's
completely unused right now.

Differential Revision: https://phabricator.services.mozilla.com/D236904
2025-02-05 22:05:38 +00:00
Jonathan Kew
900aaa6a8d Bug 1945637 - Remove the separate 'normal' value of font-style types, as it is a synonym for 'oblique 0deg'; always serialize 'oblique 0deg' as 'normal'. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D236733
2025-02-05 17:07:26 +00:00
Stanca Serban
d8376bba5c Backed out changeset 3c90c2d82cf4 (bug 1945637) for causing build bustages in gfxFontUtils.h. CLOSED TREE 2025-02-05 17:14:07 +02:00
Jonathan Kew
e15e183ff3 Bug 1945637 - Remove the separate 'normal' value of font-style types, as it is a synonym for 'oblique 0deg'; always serialize 'oblique 0deg' as 'normal'. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D236733
2025-02-05 12:49:05 +00:00
Goloman Adrian
59aeae3ed7 Backed out changeset e8acbf46ade0 (bug 1945637) for causing mass failures @ServoStyleConstsInlines.h. CLOSED TREE 2025-02-05 01:10:44 +02:00
Jonathan Kew
556a433073 Bug 1945637 - Remove the separate 'normal' value of font-style types, as it is a synonym for 'oblique 0deg'; always serialize 'oblique 0deg' as 'normal'. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D236733
2025-02-04 18:29:37 +00:00
David Shin
7aabc33ea6 Bug 1942695: Ensure that unknown match results don't get overwritten in selector lists. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D235205
2025-02-03 15:26:50 +00:00
Oriol Brufau
792e5fdb21 Bug 1945225 - Import Stylo animation changes from Servo. r=emilio
Imports the following:
- https://github.com/servo/stylo/pull/109
  Let animations & transitions fall back to discrete interpolation
- https://github.com/servo/stylo/pull/115
  Avoid starting transitions if values can't be interpolated

Gecko has its own logic so there shouldn't be any behavior change.

Differential Revision: https://phabricator.services.mozilla.com/D236376
2025-01-31 18:02:58 +00:00
Jonathan Kew
143c12f00d Bug 1521723 - Add style-system support for the hyphenate-limit-chars property (not yet hooked up to layout). r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D135046
2025-01-29 17:01:54 +00:00
Emilio Cobos Álvarez
e3eb3e53a4 Bug 1937568 - Use counter and warning for <h1> inside section/etc with no margin or font-size. r=zcorpan,flod
Differential Revision: https://phabricator.services.mozilla.com/D234678
2025-01-29 06:12:00 +00:00
Emilio Cobos Álvarez
618dbe882e Bug 1914323 - Import static UA sheet for view transitions. r=view-transitions-reviewers,firefox-style-system-reviewers,boris
Enable the relevant features in UA sheets unconditionally.

Differential Revision: https://phabricator.services.mozilla.com/D235573
2025-01-29 01:33:12 +00:00