blob: 0c06ba3c6df7d23a7c47de24411279d6401a1307 [file] [log] [blame]
<!DOCTYPE html>
<title>:fullscreen pseudo-class</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../trusted-click.js"></script>
<div><div></div></div>
<script>
async_test(t => {
const outer = document.querySelector("div");
const inner = outer.firstChild;
// First request fullscreen for the outer element.
trusted_request(t, outer);
document.onfullscreenchange = t.step_func(() => {
assert_equals(document.fullscreenElement, outer);
assert_true(outer.matches(':fullscreen'),
'outer:fullscreen in simple fullscreen');
assert_false(inner.matches(':fullscreen'),
'inner:fullscreen in simple fullscreen');
// Then request fullscreen for the inner element.
trusted_request(t, inner);
document.onfullscreenchange = t.step_func_done(() => {
// Although inner is the fullscreen element, both elements match the
// selector, as both have their fullscreen flag set.
assert_equals(document.fullscreenElement, inner);
assert_true(inner.matches(':fullscreen'),
'inner:fullscreen in nested fullscreen');
assert_true(outer.matches(':fullscreen'),
'outer:fullscreen in nested fullscreen');
});
});
});
</script>