style: Add support for is() and where() selectors (#34066)

Additionally, changes now need to be made to `servo.css` in order to
ensure that `<button>` text is centered the same way that it is for
`<input type=button>`. In the past the rule for centering text for the
latter was ignored because it used `:is()`.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
Martin Robinson 2024-11-19 15:05:46 +01:00 committed by GitHub
parent 975e2ae859
commit 0eda2de19f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 12 additions and 393 deletions

View file

@ -1,76 +1,4 @@
[parse-is-where.html]
[":is(div )" should be a valid selector]
expected: FAIL
[":where(div )" should be a valid selector]
expected: FAIL
[":is(div + bar, div ~ .baz)" should be a valid selector]
expected: FAIL
[":where(div + bar, div ~ .baz)" should be a valid selector]
expected: FAIL
[":is(:is(div))" should be a valid selector]
expected: FAIL
[":where(:is(div))" should be a valid selector]
expected: FAIL
[":is(:where(div))" should be a valid selector]
expected: FAIL
[":where(:where(div))" should be a valid selector]
expected: FAIL
[":host(:is(div))" should be a valid selector]
expected: FAIL
[":host(:where(div))" should be a valid selector]
expected: FAIL
[":host(:is(div ))" should be a valid selector]
expected: FAIL
[":host(:where(div ))" should be a valid selector]
expected: FAIL
[":host(:is(div .foo))" should be a valid selector]
expected: FAIL
[":host(:where(div .foo))" should be a valid selector]
expected: FAIL
[":is(:hover, :active)" should be a valid selector]
expected: FAIL
[":where(:hover, :active)" should be a valid selector]
expected: FAIL
[":is(div):hover" should be a valid selector]
expected: FAIL
[":where(div):hover" should be a valid selector]
expected: FAIL
[":is(div)::before" should be a valid selector]
expected: FAIL
[":where(div)::before" should be a valid selector]
expected: FAIL
[":is(::before)" should be a valid selector]
expected: FAIL
[":where(::before)" should be a valid selector]
expected: FAIL
[":is(div) + bar" should be a valid selector]
expected: FAIL
[":where(div) + bar" should be a valid selector]
expected: FAIL
["::part(foo):is(:hover)" should be a valid selector]
expected: FAIL
@ -82,15 +10,3 @@
["::part(foo):where([attr='value'\])" should be a valid selector]
expected: FAIL
[":not(:is(div))" should be a valid selector]
expected: FAIL
[":not(:where(div))" should be a valid selector]
expected: FAIL
[":not(:is(div .foo))" should be a valid selector]
expected: FAIL
[":not(:where(div .foo))" should be a valid selector]
expected: FAIL

View file

@ -1,19 +0,0 @@
[parse-is.html]
[":is(#a)" should be a valid selector]
expected: FAIL
[".a.b ~ :is(.c.d ~ .e.f)" should be a valid selector]
expected: FAIL
[".a.b ~ .c.d:is(span.e + .f, .g.h > .i.j .k)" should be a valid selector]
expected: FAIL
[":is(:hover,:focus)" should be a valid selector]
expected: FAIL
["a:is(:not(:hover))" should be a valid selector]
expected: FAIL
[":is(ul,ol,.list) > [hidden\]" should be a valid selector]
expected: FAIL

View file

@ -1,19 +0,0 @@
[parse-where.html]
[":where(#a)" should be a valid selector]
expected: FAIL
[":where(:hover,:focus)" should be a valid selector]
expected: FAIL
[".a.b ~ .c.d:where(span.e + .f, .g.h > .i.j .k)" should be a valid selector]
expected: FAIL
[":where(ul,ol,.list) > [hidden\]" should be a valid selector]
expected: FAIL
["a:where(:not(:hover))" should be a valid selector]
expected: FAIL
[".a.b ~ :where(.c.d ~ .e.f)" should be a valid selector]
expected: FAIL