| <!DOCTYPE html> | |
| <html> | |
| <body> | |
| <meta name="timeout" content="long"> | |
| <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 does not work without user activation.</p> | |
| <hr/> | |
| <div id="target">Target</div> | |
| <script type="text/javascript" > | |
| promise_test(async t => { | |
| const target = document.getElementById('target'); | |
| document.addEventListener('pointerlockchange', t.unreached_func("Must not acquire pointer lock.")); | |
| // Request pointer lock twice to ensure two failing promises are returned and both are rejected. | |
| const p1 = target.requestPointerLock(); | |
| const p2 = target.requestPointerLock(); | |
| // ensure that both promises are rejected | |
| await promise_rejects_dom(t, "NotAllowedError", p1); | |
| await promise_rejects_dom(t, "NotAllowedError", p2); | |
| }); | |
| </script> | |
| </body> | |
| </html> |