Add support for the ::slotted selector (#35352)

* bump stylo

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
This commit is contained in:
Simon Wülker 2025-02-07 09:47:56 +01:00 committed by GitHub
parent 5cd4012e79
commit 7a6953bc08
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 20 additions and 148 deletions

40
Cargo.lock generated
View file

@ -1008,7 +1008,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c"
dependencies = [
"lazy_static",
"windows-sys 0.59.0",
"windows-sys 0.48.0",
]
[[package]]
@ -1680,7 +1680,7 @@ dependencies = [
[[package]]
name = "dom"
version = "0.0.1"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#4359cb61ff09a1db6f11d523aad6796395d7b5ba"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#ac16e64ad4c1fe44adef412a30f6f317f01637a7"
dependencies = [
"bitflags 2.8.0",
"malloc_size_of",
@ -1959,7 +1959,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d"
dependencies = [
"libc",
"windows-sys 0.59.0",
"windows-sys 0.52.0",
]
[[package]]
@ -2486,7 +2486,7 @@ dependencies = [
"gobject-sys",
"libc",
"system-deps",
"windows-sys 0.59.0",
"windows-sys 0.52.0",
]
[[package]]
@ -3938,7 +3938,7 @@ checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37"
dependencies = [
"hermit-abi 0.4.0",
"libc",
"windows-sys 0.59.0",
"windows-sys 0.52.0",
]
[[package]]
@ -4284,7 +4284,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34"
dependencies = [
"cfg-if",
"windows-targets 0.52.6",
"windows-targets 0.48.5",
]
[[package]]
@ -4460,7 +4460,7 @@ dependencies = [
[[package]]
name = "malloc_size_of"
version = "0.0.1"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#4359cb61ff09a1db6f11d523aad6796395d7b5ba"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#ac16e64ad4c1fe44adef412a30f6f317f01637a7"
dependencies = [
"app_units",
"cssparser",
@ -6156,7 +6156,7 @@ dependencies = [
"errno",
"libc",
"linux-raw-sys",
"windows-sys 0.59.0",
"windows-sys 0.52.0",
]
[[package]]
@ -6466,7 +6466,7 @@ dependencies = [
[[package]]
name = "selectors"
version = "0.26.0"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#4359cb61ff09a1db6f11d523aad6796395d7b5ba"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#ac16e64ad4c1fe44adef412a30f6f317f01637a7"
dependencies = [
"bitflags 2.8.0",
"cssparser",
@ -6751,7 +6751,7 @@ dependencies = [
[[package]]
name = "servo_arc"
version = "0.4.0"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#4359cb61ff09a1db6f11d523aad6796395d7b5ba"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#ac16e64ad4c1fe44adef412a30f6f317f01637a7"
dependencies = [
"serde",
"stable_deref_trait",
@ -6760,7 +6760,7 @@ dependencies = [
[[package]]
name = "servo_atoms"
version = "0.0.1"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#4359cb61ff09a1db6f11d523aad6796395d7b5ba"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#ac16e64ad4c1fe44adef412a30f6f317f01637a7"
dependencies = [
"string_cache",
"string_cache_codegen",
@ -7129,7 +7129,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "static_prefs"
version = "0.1.0"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#4359cb61ff09a1db6f11d523aad6796395d7b5ba"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#ac16e64ad4c1fe44adef412a30f6f317f01637a7"
[[package]]
name = "strck"
@ -7209,7 +7209,7 @@ dependencies = [
[[package]]
name = "style"
version = "0.0.1"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#4359cb61ff09a1db6f11d523aad6796395d7b5ba"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#ac16e64ad4c1fe44adef412a30f6f317f01637a7"
dependencies = [
"app_units",
"arrayvec",
@ -7267,7 +7267,7 @@ dependencies = [
[[package]]
name = "style_config"
version = "0.0.1"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#4359cb61ff09a1db6f11d523aad6796395d7b5ba"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#ac16e64ad4c1fe44adef412a30f6f317f01637a7"
dependencies = [
"lazy_static",
]
@ -7275,7 +7275,7 @@ dependencies = [
[[package]]
name = "style_derive"
version = "0.0.1"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#4359cb61ff09a1db6f11d523aad6796395d7b5ba"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#ac16e64ad4c1fe44adef412a30f6f317f01637a7"
dependencies = [
"darling",
"proc-macro2",
@ -7305,7 +7305,7 @@ dependencies = [
[[package]]
name = "style_traits"
version = "0.0.1"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#4359cb61ff09a1db6f11d523aad6796395d7b5ba"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#ac16e64ad4c1fe44adef412a30f6f317f01637a7"
dependencies = [
"app_units",
"bitflags 2.8.0",
@ -7470,7 +7470,7 @@ dependencies = [
"getrandom",
"once_cell",
"rustix",
"windows-sys 0.59.0",
"windows-sys 0.52.0",
]
[[package]]
@ -7711,7 +7711,7 @@ dependencies = [
[[package]]
name = "to_shmem"
version = "0.1.0"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#4359cb61ff09a1db6f11d523aad6796395d7b5ba"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#ac16e64ad4c1fe44adef412a30f6f317f01637a7"
dependencies = [
"cssparser",
"servo_arc",
@ -7724,7 +7724,7 @@ dependencies = [
[[package]]
name = "to_shmem_derive"
version = "0.1.0"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#4359cb61ff09a1db6f11d523aad6796395d7b5ba"
source = "git+https://github.com/servo/stylo?branch=2025-02-03#ac16e64ad4c1fe44adef412a30f6f317f01637a7"
dependencies = [
"darling",
"proc-macro2",
@ -8770,7 +8770,7 @@ version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
dependencies = [
"windows-sys 0.59.0",
"windows-sys 0.48.0",
]
[[package]]

View file

@ -1,2 +0,0 @@
[layer-slotted-rule.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[revert-layer-014.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[lang-pseudo-class-across-shadow-boundaries.html]
expected: FAIL

View file

@ -1,27 +1,3 @@
[parse-slotted.html]
["::slotted(bar)" should be a valid selector]
expected: FAIL
["::slotted([attr=\\"foo\\"\])" should be a valid selector]
expected: FAIL
["::slotted(*)" should be a valid selector]
expected: FAIL
["::slotted(.class)" should be a valid selector]
expected: FAIL
["::slotted(:not(foo))" should be a valid selector]
expected: FAIL
["::slotted(:not(:nth-last-of-type(2)):not([slot=\\"foo\\"\]))" should be a valid selector]
expected: FAIL
["::slotted(:first-child)" should be a valid selector]
expected: FAIL
["::slotted(:hover)" should be a valid selector]
expected: FAIL
["::slotted(:has(:first-child:last-child))" should be a valid selector]
expected: FAIL

View file

@ -1,7 +1,4 @@
[ParentNode-querySelector-All-xht.xht]
[Detached Element.querySelectorAll: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[Document.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
@ -17,18 +14,9 @@
[In-document Element.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
[Document.querySelectorAll: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[Fragment.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
[Document.querySelector: Slotted selector: ::slotted(foo)]
expected: FAIL
[Detached Element.querySelector: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[In-document Element.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
@ -44,30 +32,15 @@
[Document.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
[Detached Element.querySelector: Slotted selector: ::slotted(foo)]
expected: FAIL
[In-document Element.querySelector: Slotted selector: ::slotted(foo)]
expected: FAIL
[Fragment.querySelector: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[Detached Element.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
[Document.querySelector: :link and :visited pseudo-class selectors, matching no elements: #head :link, #head :visited]
expected: FAIL
[Fragment.querySelector: Slotted selector: ::slotted(foo)]
expected: FAIL
[In-document Element.querySelectorAll: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
expected: FAIL
[Fragment.querySelectorAll: Slotted selector: ::slotted(foo)]
expected: FAIL
[Fragment.querySelector: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
expected: FAIL
@ -83,18 +56,12 @@
[Detached Element.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
[Detached Element.querySelectorAll: Slotted selector: ::slotted(foo)]
expected: FAIL
[Detached Element.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
[In-document Element.querySelectorAll: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
[In-document Element.querySelectorAll: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[Document.querySelectorAll: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
expected: FAIL
@ -104,21 +71,12 @@
[Detached Element.querySelectorAll: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line]
expected: FAIL
[Document.querySelectorAll: Slotted selector: ::slotted(foo)]
expected: FAIL
[Fragment.querySelectorAll: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[Detached Element.querySelectorAll: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
expected: FAIL
[Document.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
[Document.querySelector: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[Fragment.querySelectorAll: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
@ -128,18 +86,12 @@
[Fragment.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
[In-document Element.querySelectorAll: Slotted selector: ::slotted(foo)]
expected: FAIL
[Fragment.querySelector: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line]
expected: FAIL
[In-document Element.querySelector: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
expected: FAIL
[In-document Element.querySelector: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[Fragment.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
@ -148,4 +100,3 @@
[Document.querySelectorAll: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line]
expected: FAIL

View file

@ -1,7 +1,4 @@
[ParentNode-querySelector-All.html]
[Detached Element.querySelectorAll: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[Document.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
@ -17,18 +14,9 @@
[In-document Element.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
[Document.querySelectorAll: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[Fragment.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
[Document.querySelector: Slotted selector: ::slotted(foo)]
expected: FAIL
[Detached Element.querySelector: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[In-document Element.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
@ -44,30 +32,15 @@
[Document.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
[Detached Element.querySelector: Slotted selector: ::slotted(foo)]
expected: FAIL
[In-document Element.querySelector: Slotted selector: ::slotted(foo)]
expected: FAIL
[Fragment.querySelector: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[Detached Element.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
[Document.querySelector: :link and :visited pseudo-class selectors, matching no elements: #head :link, #head :visited]
expected: FAIL
[Fragment.querySelector: Slotted selector: ::slotted(foo)]
expected: FAIL
[In-document Element.querySelectorAll: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
expected: FAIL
[Fragment.querySelectorAll: Slotted selector: ::slotted(foo)]
expected: FAIL
[Fragment.querySelector: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
expected: FAIL
@ -83,18 +56,12 @@
[Detached Element.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
[Detached Element.querySelectorAll: Slotted selector: ::slotted(foo)]
expected: FAIL
[Detached Element.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
[In-document Element.querySelectorAll: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
[In-document Element.querySelectorAll: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[Document.querySelectorAll: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
expected: FAIL
@ -104,21 +71,12 @@
[Detached Element.querySelectorAll: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line]
expected: FAIL
[Document.querySelectorAll: Slotted selector: ::slotted(foo)]
expected: FAIL
[Fragment.querySelectorAll: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[Detached Element.querySelectorAll: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
expected: FAIL
[Document.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
[Document.querySelector: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[Fragment.querySelectorAll: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
@ -128,18 +86,12 @@
[Fragment.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
[In-document Element.querySelectorAll: Slotted selector: ::slotted(foo)]
expected: FAIL
[Fragment.querySelector: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line]
expected: FAIL
[In-document Element.querySelector: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
expected: FAIL
[In-document Element.querySelector: Slotted selector (no matching closing paren): ::slotted(foo]
expected: FAIL
[Fragment.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
@ -148,4 +100,3 @@
[Document.querySelectorAll: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line]
expected: FAIL