| <!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> |