summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/pointerlock/test_closewindow-with-pointerlock.html
blob: 797228c3e04dda572ef46acc745e3d148c27af6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Bug 1323983 - Auto-close window after holding pointerlock</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <script src="/tests/SimpleTest/EventUtils.js"></script>
  <link rel="stylesheet" href="/tests/SimpleTest/test.css">
</head>
<body style="width: 100vw; height: 100vh; margin: 0;">
  <script>
    if (!opener) {
      SimpleTest.waitForExplicitFinish();
    }

    var newwin = null;
    function finish() {
      newwin.close()
      setTimeout(function() {
        SimpleTest.finish();
      }, 0);
    }

    addLoadEvent(function() {
      SimpleTest.waitForFocus(function() {
        if (!opener) {
          newwin = window.open(location);
        } else {
          document.addEventListener("pointerlockchange", function() {
            opener.is(document.pointerLockElement, document.body,
                      "Check we have locked the pointer");
            opener.finish();
          }, {once: true});
          document.addEventListener("pointerlockerror", function() {
            opener.info("Fail to lock pointer");
            opener.finish();
          });
          document.addEventListener("click", function() {
            opener.info("Clicked");
            document.body.requestPointerLock();
          }, {once: true});
          setTimeout(function() {
            opener.info("Clicking");
            synthesizeMouseAtCenter(document.body, {});
          }, 0);
        }
      });
    });
  </script>
</body>
</html>