Files
sousa-gecko/testing/web-platform/tests/css/selectors/featureless-004.html
T
Rune Lillesveen 44239a9893 Bug 1978647 [wpt PR 53901] - Check whole complex selector for host in selector lists, a=testonly
Automatic update from web-platform-tests
Check whole complex selector for host in selector lists

The code path for featureless matching only considered the first simple
selector instead of the whole complex selector. First, the whole
compound must be considered, then if there is a combinator the selector
matching must fail since the featureless element cannot be combined with
other elements.

Re-enable flag that was set to 'test' in [1].

[1] https://chromium-review.googlesource.com/c/chromium/src/+/6772923

Bug: 432839793, 378966977

Change-Id: I40792bc3531a3c1ffe99022ff54b8506709c53c7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6773592
Reviewed-by: Kevin Babbitt <kbabbitt@microsoft.com>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1490224}

--

wpt-commits: 3e06cbdb787814db7cd8d4d4d1913b486c01b052
wpt-pr: 53901
2025-07-28 08:24:53 +00:00

68 lines
1.7 KiB
HTML

<!doctype html>
<meta charset="utf-8">
<title>Logical combo pseudos can match if their argument is allowed to</title>
<link rel="help" href="https://drafts.csswg.org/selectors-4/#featureless">
<link rel="match" href="/css/reference/ref-filled-green-100px-square-only.html">
<p>Test passes if there is a filled green square.</p>
<div class=host>
<template shadowrootmode="open">
<style>
div {
width: 100px;
height: 10px;
}
.red { background-color: red; }
.green { background-color: green; }
:is(:host, aside) .t1 {
background-color: green;
}
:not(:not(:host)) .t2 {
background-color: green;
}
:not(aside) .t3 {
background-color: red;
}
:not(.foo:host) .t4 {
background-color: red;
}
:not(:host > .foo) .t5 {
background-color: red;
}
:is(:not(body) > :host) .t6 {
background-color: red;
}
:is(:host:not(body)) .t7 {
background-color: red;
}
:host:not(body) {
.t8 {
background-color: red;
}
}
:host:has(#foo) {
.t9 {
background-color: red;
}
}
:is(:host.host) .t10 {
background-color: red;
}
</style>
<div class="red t1"></div>
<div class="red t2"></div>
<div class="green t3"></div>
<div class="green t4"></div>
<div class="green t5"></div>
<div class="green t6"></div>
<div class="green t7"></div>
<div class="green t8"></div>
<div class="green t9"></div>
<div class="green t10"></div>
<slot></slot>
</template>
<section></section>
</div>