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