| <!DOCTYPE html> |
| <title>Element#requestFullscreen() after error</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> |
| <div id="log"></div> |
| <script> |
| promise_test(async t => { |
| await new Promise(r => window.onload = r); |
| |
| const element1 = document.createElement("div"); |
| document.body.appendChild(element1); |
| |
| await test_driver.bless("request full screen"); |
| let promise = element1.requestFullscreen() |
| await new Promise(r => t.step_timeout(r, 0)) |
| document.body.removeChild(element1); |
| try { |
| await promise; |
| assert_unreached("requestFullscreen shouldn't be successful"); |
| } catch (e) { |
| } |
| try { |
| await document.exitFullscreen(); |
| } catch (e) { |
| } |
| |
| const element2 = document.createElement("div"); |
| document.body.appendChild(element2); |
| |
| await test_driver.bless("request full screen"); |
| try { |
| await element2.requestFullscreen(); |
| } catch (e) { |
| assert_unreached("requestFullscreen shouldn't throw an error - " + e.message); |
| } |
| await document.exitFullscreen(); |
| }, "requestFullscreen works even if previous requestFullscreen causes an error"); |
| </script> |