| <!DOCTYPE html> | |
| <html> | |
| <body> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="/resources/testdriver.js"></script> | |
| <script src="/resources/testdriver-actions.js"></script> | |
| <script src="/resources/testdriver-vendor.js"></script> | |
| </head> | |
| <body> | |
| <h2>Description</h2> | |
| <p>This test validates that pointer lock accepts the unadjustedMovement option.</p> | |
| <hr/> | |
| <button id="Button">lockTarget</button> | |
| <div id="target">Target</div> | |
| <script type="text/javascript" > | |
| const button = document.getElementById('Button'); | |
| const target = document.getElementById('target'); | |
| async_test(t => { | |
| button.addEventListener('mousedown', t.step_func(() => { | |
| const p = target.requestPointerLock({unadjustedMovement: true}); | |
| p.then(t.step_func(() => { | |
| assert_equals(document.pointerLockElement, target); | |
| t.done(); | |
| })).catch(t.step_func((error) => { | |
| // requestPointerLock may throw NotSupportedError to say unadjustedMovement isn't supported. | |
| assert_throws_dom("NotSupportedError", () => { throw error; }); | |
| // but to pass this test fully, it unadjustedMovement must be supported. | |
| assert_unreached("unadjustedMovement must be implemented."); | |
| t.done(); | |
| })); | |
| })); | |
| }); | |
| // Automated testing | |
| test_driver.click(button); | |
| </script> | |
| </body> | |
| </html> |