| <!DOCTYPE html> | |
| <title>Invalidate :fullscreen based style</title> | |
| <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> | |
| <style> | |
| #pass { | |
| color: red; | |
| } | |
| :root:fullscreen #pass { | |
| color: green; | |
| } | |
| </style> | |
| <div id="pass">Should be green</div> | |
| <script> | |
| async_test(t => { | |
| document.onfullscreenchange = t.step_func_done(() => { | |
| assert_equals(document.fullscreenElement, document.documentElement); | |
| assert_equals(getComputedStyle(pass).color, "rgb(0, 128, 0)", "Green when :root is fullscreened."); | |
| }); | |
| document.documentElement.addEventListener('click', t.step_func(() => { | |
| document.documentElement.requestFullscreen(); | |
| }), {once: true}); | |
| assert_equals(getComputedStyle(pass).color, "rgb(255, 0, 0)", "Initially red."); | |
| test_driver.click(document.documentElement); | |
| }); | |
| </script> |