Commit graph

46962 commits

Author SHA1 Message Date
Oriol Brufau
6751b84bab Further changes required by Servo 2023-11-04 08:17:09 +01:00
Oriol Brufau
9a862da88f style: Properly handle ::backdrop
Depends on D164807

Differential Revision: https://phabricator.services.mozilla.com/D164908
2023-11-04 08:17:09 +01:00
Oriol Brufau
b9e38017e7 Further changes required by Servo 2023-11-04 08:17:09 +01:00
Oriol Brufau
661e7d5c48 style: Fix elements not being query containers for the pseudo-element they originate. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D164807
2023-11-04 08:17:09 +01:00
Emilio Cobos Álvarez
c511b9c3f9 style: Unconditionally enable container properties in UA sheets
If the UA sheet gets parsed with the pref off, and then the pref gets
flipped on, we don't re-parse the UA sheet (nor we want to).

Enable the property in UA sheets unconditionally so that the test passes
even when the browser was started-up with the container queries pref
off.

Differential Revision: https://phabricator.services.mozilla.com/D164823
2023-11-04 08:17:09 +01:00
Oriol Brufau
c31db1c937 style: Lint container_rule.rs
Just using 'rustup run nightly rustfmt'.
No change in behavior.

Differential Revision: https://phabricator.services.mozilla.com/D164805
2023-11-04 08:17:09 +01:00
Oriol Brufau
12903c51d5 Further changes required by Servo 2023-11-04 08:17:09 +01:00
Oriol Brufau
c4b8e451ed style: Re-evaluate container queries when container gets display:contents
Differential Revision: https://phabricator.services.mozilla.com/D164234
2023-11-04 08:17:09 +01:00
Emilio Cobos Álvarez
cd50d30c31 style: Fix outline-style: inherit behavior if you don't specify outline-width
The fix is calling set_outline_style so that we also reset the actual
outline width. Also clean-up surrounding code a little bit to be
marginally more efficient, and do the same change for border-*-style
(which was doing the right thing, but it's better to make sure both stay
in sync).

Differential Revision: https://phabricator.services.mozilla.com/D164554
2023-11-04 08:17:09 +01:00
Daniel Holbert
db4dd48d31 style: Remove the about:config pref for subgrid, layout.css.grid-template-subgrid-value.enabled, since it's been default-enabled for years
Differential Revision: https://phabricator.services.mozilla.com/D164389
2023-11-04 08:17:09 +01:00
Ziran Sun
a478c1bf90 style: Don't share style for cousins that are using Container Queries
Differential Revision: https://phabricator.services.mozilla.com/D164224
2023-11-04 08:17:09 +01:00
Jonathan Kew
6a6658801f style: followup - revert the serialization change, and instead fix the test to expect lowercase
Differential Revision: https://phabricator.services.mozilla.com/D164219
2023-11-04 08:17:09 +01:00
Jonathan Kew
e7dc4a47cb style: Serialize font-face src tech() keywords in mixed-case to match the spec; fix the associated WPT test to do case-insensitive comparisons
Differential Revision: https://phabricator.services.mozilla.com/D164202
2023-11-04 08:17:09 +01:00
Jonathan Kew
6162f82c6b style: Remove 'font-palette' from the 'font' shorthand
Differential Revision: https://phabricator.services.mozilla.com/D164128
2023-11-04 08:17:09 +01:00
Ben Freist
37c2d4d30a style: [refactor] Migrate NS_STYLE_LIST_STYLE_* defines
Differential Revision: https://phabricator.services.mozilla.com/D163792
2023-11-04 08:17:09 +01:00
Oriol Brufau
e19c955c1c Further changes required by Servo 2023-11-04 08:17:09 +01:00
Oriol Brufau
0c36795e20 style: Evaluate size feature to unknown if the container lacks size containment
For example, inline elements may have container-type:size but they don't
support size containment, so @container(width >= 0) shouldn't match.

Differential Revision: https://phabricator.services.mozilla.com/D163936
2023-11-04 08:17:09 +01:00
Oriol Brufau
1beb9880a9 Further changes required by Servo 2023-11-04 08:17:09 +01:00
Jonathan Kew
6ea75b0646 style: Parse errors in individual @font-face src components should cause only the bad component to be dropped, not the entire descriptor
Differential Revision: https://phabricator.services.mozilla.com/D163810
2023-11-04 08:17:09 +01:00
Oriol Brufau
d2bb508272 Further changes required by Servo 2023-11-04 08:17:09 +01:00
Oriol Brufau
647d813c6b style: @container(width:0) shouldn't match elements with no box
Depends on D163879

Differential Revision: https://phabricator.services.mozilla.com/D163844
2023-11-04 08:17:09 +01:00
Oriol Brufau
6c02e9fdaa style: Implement Kleene logic for query feature expressions
Differential Revision: https://phabricator.services.mozilla.com/D163879
2023-11-04 08:17:09 +01:00
Oriol Brufau
134f680503 Further changes required by Servo 2023-11-04 08:17:09 +01:00
Oriol Brufau
748dd1eae2 style: Make container queries check content-box size
They were checking the border-box size (with paddings and borders), but
https://drafts.csswg.org/css-contain-3/#size-container says it should
be the content-box size.

Differential Revision: https://phabricator.services.mozilla.com/D163784
2023-11-04 08:17:09 +01:00
Oriol Brufau
f11e232a53 Further changes required by Servo 2023-11-04 08:17:09 +01:00
Oriol Brufau
7ec4c53266 style: Fix style containment not triggered by 'contain'
'container-type' and 'content-visibility' can trigger various kinds of
containment, but this was done via nsStyleDisplay::EffectiveContainment,
to avoid affecting the computed value of 'contain'.

This was fine except for style containment, which needs to set the flag
SELF_OR_ANCESTOR_HAS_CONTAIN_STYLE in order to really work, but this was
only done with 'contain: style'.

So this patch removes nsStyleDisplay::EffectiveContainment, and instead
uses two fields for containment: mContain and mEffectiveContainment.
This is somewhat analogous to mDisplay and mOriginalDisplay, though in
that case the computed value is the modified display.

Also fixes a typo in IsContainStyle() that made it return true for any
kind of containment, not just for style containment.

Differential Revision: https://phabricator.services.mozilla.com/D163779
2023-11-04 08:17:09 +01:00
Emilio Cobos Álvarez
60bd00980d style: Speed up dom iteration in querySelector
This removes a few branches and null-checks that I found in profiles.

Depends on D163627

Differential Revision: https://phabricator.services.mozilla.com/D163628
2023-11-04 08:17:09 +01:00
Emilio Cobos Álvarez
b6d9b77a15 style: Speed up selector matching with already-lowercase local name selectors
This makes relatively simple changes so that we check lowercase-ness of
local-name selectors first. If so, we don't need to check whether we're
an HTML element in an HTML document, which requires a fair bit of
pointer-chasing.

Differential Revision: https://phabricator.services.mozilla.com/D163627
2023-11-04 08:17:09 +01:00
Emilio Cobos Álvarez
dbba87d73e style: Implement Buttonborder/mark/marktext
Needs some extra test expectation updates.

Differential Revision: https://phabricator.services.mozilla.com/D157748
2023-11-04 08:17:09 +01:00
Mike Hommey
1a04ce81a6 style: Remove explicit rust target for bindgen in stylo
This doesn't seem necessary anymore. It was originally added to disable
unions, which is now done with disable_untagged_union.

Differential Revision: https://phabricator.services.mozilla.com/D163662
2023-11-04 08:17:09 +01:00
Emilio Cobos Álvarez
11313368ac style: Remove non-standard and unused system font values
And hide internal but used values. System fonts are not exposed in the
computed style so this should be fine.

If we need the old values for some obscure reason, it's trivial to alias
them to e.g., menu or so.

Differential Revision: https://phabricator.services.mozilla.com/D163269
2023-11-04 08:17:09 +01:00
Mike Hommey
bf593a81ed style: Upgrade bindgen to 0.63.0
Differential Revision: https://phabricator.services.mozilla.com/D163375
2023-11-04 08:17:09 +01:00
Emilio Cobos Álvarez
020ba9e749 style: Follow-up clean-ups and tweaks
<general-enclosed> should be handled in parse_in_parens.

Add some convenience functions to KleeneValue.

Differential Revision: https://phabricator.services.mozilla.com/D163214
2023-11-04 08:17:09 +01:00
Ziran Sun
bee44a5259 style: Add parsing for <general-enclosed> in queries conditions
See https://drafts.csswg.org/mediaqueries-5/#typedef-general-enclosed

Differential Revision: https://phabricator.services.mozilla.com/D158662
2023-11-04 08:17:09 +01:00
Oriol Brufau
a298c296e4 Further changes required by Servo 2023-11-04 08:17:09 +01:00
Connor Pearson
e55c03c8ff style: Implement CSS mod() and rem() functions
Differential Revision: https://phabricator.services.mozilla.com/D163166
2023-11-04 08:17:09 +01:00
Emilio Cobos Álvarez
653b37f80a style: Green up and re-enable style system layout tests
It's unclear to me when they were disabled, but we do want to enable
these as otherwise there's no way to catch bindgen issues that can end
up in subtle bugs at best, or memory corruption at worst.

Differential Revision: https://phabricator.services.mozilla.com/D162997
2023-11-04 08:17:09 +01:00
Thomas Wisniewski
62dddfb2a6 style: Alias -webkit-clip-path to clip-path for webcompat
Differential Revision: https://phabricator.services.mozilla.com/D162674
2023-11-04 08:17:09 +01:00
Emilio Cobos Álvarez
cc30a418a3 style: Remove unused -moz-window-frame appearance constants
Differential Revision: https://phabricator.services.mozilla.com/D162864
2023-11-04 08:17:09 +01:00
Ziran Sun
ea04827f05 style: Use root element font size for rem calculation in Container queries
Differential Revision: https://phabricator.services.mozilla.com/D162853
2023-11-04 08:17:09 +01:00
Ben Freist
4b9fc07522 style: [refactor] Migrate NS_STYLE_UNICODE_BIDI_* defines
Differential Revision: https://phabricator.services.mozilla.com/D162487
2023-11-04 08:17:09 +01:00
Oriol Brufau
f9c55a2971 style: Exclude 'size' from the 'all' shorthand
Differential Revision: https://phabricator.services.mozilla.com/D162568
2023-11-04 08:17:09 +01:00
Emilio Cobos Álvarez
63c3d36d28 style: Remove appearance: -moz-win-glass, which is unused
This we don't need to uplift.

Differential Revision: https://phabricator.services.mozilla.com/D162535
2023-11-04 08:17:09 +01:00
Oriol Brufau
d53696e452 Further changes required by Servo 2023-11-04 08:17:09 +01:00
Emilio Cobos Álvarez
57da2712d0 style: Implement label[value] and start/end cropping with CSS rather than XUL layout
This reduces the weird interactions that can appear on menus.

This also progresses BiDi support, including for accesskeys.

Differential Revision: https://phabricator.services.mozilla.com/D161498
2023-11-04 08:17:09 +01:00
Ziran Sun
aee17ed05c style: container-queries: Stop restrict none/auto/normal from <custom-ident>
Differential Revision: https://phabricator.services.mozilla.com/D161764
2023-11-04 08:17:09 +01:00
Ben Freist
717e4acefb style: [refactor] Migrate NS_STYLE_TEXT_COMBINE_UPRIGHT_* defines
Differential Revision: https://phabricator.services.mozilla.com/D161965
2023-11-04 08:17:09 +01:00
Connor Pearson
2a7055a8ff style: Remove unused std::ops::Rem implementations
Differential Revision: https://phabricator.services.mozilla.com/D161844
2023-11-04 08:17:09 +01:00
Emilio Cobos Álvarez
91626808e9 style: Remove display: -moz-popup
We already rely on it applying only to XULPopupElement's. Make it
explicit and remove the CSS value.

Differential Revision: https://phabricator.services.mozilla.com/D161552
2023-11-04 08:17:09 +01:00
Samson
fd5f04c18e Use runner provided python 2023-11-03 16:41:26 +00:00