Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test has a WPT meta file that expects 1 subtest issues.
- This WPT test may be referenced by the following Test IDs:
- /pointerlock/pointerlock_without_gesture.html - WPT Dashboard Interop Dashboard
<!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>