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
68 lines
1.7 KiB
HTML
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>
|