| <!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:masonf@chromium.org" /> |
| <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> |