<!DOCTYPE html>
<meta charset="utf-8">
<title>Remove PointerLock target on mouseup</title>
<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>
<p>Click anywhere to run the test. If a "PASS" result appears the test passes, otherwise it fails</p>
<div id="target"></div>
<script>
async_test(t => {
    const target = document.getElementById('target');
    document.addEventListener('mousedown', t.step_func(() => {
        target.requestPointerLock();
        document.addEventListener('mouseup', t.step_func(() => {
            target.remove();
            assert_equals(document.pointerLockElement, null, 'Pointer lock exited!');
            t.done();
        }));
    }));
})

// Inject mouse input.
new test_driver.Actions()
               .pointerMove(50, 50)
               .pointerDown()
               .pointerUp()
               .send();
</script>
