| <!DOCTYPE html> | |
| <title>Window Management test: Additional Windowing Controls</title> | |
| <link rel="help" href="https://github.com/explainers-by-googlers/additional-windowing-controls/blob/main/README.md"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script> | |
| test(() => { | |
| assert_true('maximize' in window, "window.maximize should be exposed"); | |
| assert_equals(typeof window.maximize, "function", "window.maximize should be a function"); | |
| assert_true('minimize' in window, "window.minimize should be exposed"); | |
| assert_equals(typeof window.minimize, "function", "window.minimize should be a function"); | |
| assert_true('restore' in window, "window.restore should be exposed"); | |
| assert_equals(typeof window.restore, "function", "window.restore should be a function"); | |
| assert_true('setResizable' in window, "window.setResizable should be exposed"); | |
| assert_equals(typeof window.setResizable, "function", "window.setResizable should be a function"); | |
| }, "Additional Windowing Controls methods are exposed on the Window interface"); | |
| promise_test(async (t) => { | |
| await promise_rejects_dom(t, 'InvalidStateError', window.maximize()); | |
| }, "window.maximize() rejects with InvalidStateError when called outside web app scope"); | |
| promise_test(async (t) => { | |
| await promise_rejects_dom(t, 'InvalidStateError', window.minimize()); | |
| }, "window.minimize() rejects with InvalidStateError when called outside web app scope"); | |
| promise_test(async (t) => { | |
| await promise_rejects_dom(t, 'InvalidStateError', window.restore()); | |
| }, "window.restore() rejects with InvalidStateError when called outside web app scope"); | |
| promise_test(async (t) => { | |
| await promise_rejects_dom(t, 'InvalidStateError', window.setResizable(true)); | |
| }, "window.setResizable() rejects with InvalidStateError when called outside web app scope"); | |
| </script> |