<!DOCTYPE html>
<html class="reftest-wait">
<title>
Test that display:contents on fullscreen elements acts like
display:block
</title>
<meta charset="utf-8" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="../trusted-click.js"></script>
<link rel="author" href="mailto:[email protected]" />
<link
rel="help"
href="https://fullscreen.spec.whatwg.org/#new-stacking-layer"
/>
<div id="target"></div>
<style>
#target {
display: contents;
background-color: green;
}
#target::backdrop {
display: contents;
}
</style>
<script>
promise_test(async (t) => {
const target = document.querySelector("#target");
await test_driver.bless("fullscreen");
await target.requestFullscreen();
await new Promise((resolve) => requestAnimationFrame(resolve));
assert_equals(document.fullscreenElement, target);
assert_equals(
getComputedStyle(target).display,
"block",
"fullscreen element should have display:block"
);
assert_equals(
getComputedStyle(target, "::backdrop").display,
"block",
"fullscreen element's ::backdrop should have display:block"
);
await document.exitFullscreen();
new Promise((resolve) => requestAnimationFrame(resolve));
assert_equals(document.fullscreenElement, null);
assert_equals(
getComputedStyle(target).display,
"contents",
"fullscreen element should have display:contents after exiting fullscreen"
);
});
</script>
</html>