blob: 0f5d0726567bed9a066427778b0022278212a7c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<!DOCTYPE html>
<html class="reftest-wait">
<head>
<link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
<link rel="help" href="https://drafts.csswg.org/selectors/#relational"/>
<link rel="help" href="https://drafts.csswg.org/selectors/#dir-pseudo"/>
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"/>
</head>
<body>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<section><div id="ltr1" class="ltr"></div></section>
<section id="ltr2" dir="rtl"><div class="ltr"><span></span></div></section>
<section dir="ltr"><div class="ltr"><span></span></div></section>
<section><div id="rtl1" class="rtl"><span></span></div></section>
<section id="rtl2"><div class="rtl"><span></span></div></section>
<style>
div, section { width: 100px; height: 20px; }
section { background: red; }
.ltr:has(*:dir(ltr)) { background: green; }
.ltr:has(*:dir(rtl)) { background: red; }
.rtl:has(*:dir(rtl)) { background: green; }
.rtl:has(*:dir(ltr)) { background: red; }
</style>
<script>
requestAnimationFrame(() => {
setTimeout(() => {
ltr1.appendChild(document.createElement('span'));
ltr2.dir = 'ltr';
rtl1.dir = 'rtl';
rtl2.dir = 'rtl';
document.documentElement.className = '';
}, 0);
});
</script>
</body>
</html>
|