4 <script src="../resources/js-test.js"></script>
5 <script src="../http/tests/resources/pointer-lock/pointer-lock-test-harness-prefixed.js"></script>
9 <div id="target1"></div>
10 <div id="target2"></div>
13 description("Test calling lock when already in a locked state.")
14 window.jsTestIsAsync = true;
16 targetdiv1 = document.getElementById("target1");
17 targetdiv2 = document.getElementById("target2");
19 // Expect change event only for all transitions below.
20 expectedTargetToBeLockedString = "";
21 document.onwebkitpointerlockchange = function ()
23 testPassed("document.onwebkitpointerlockchange event received.");
24 shouldBe("document.webkitPointerLockElement", expectedTargetToBeLockedString);
25 doNextStepWithUserGesture();
27 document.onwebkitpointerlockerror =
28 function () { testFailed("document.onwebkitpointerlockerror event received."); finishJSTest(); };
30 var expectTarget1Unlock = false;
31 targetdiv1.addEventListener("webkitpointerlocklost",
32 function () { shouldBe("expectTarget1Unlock", "true"); });
34 var expectTarget2Unlock = false;
35 targetdiv2.addEventListener("webkitpointerlocklost",
36 function () { shouldBe("expectTarget2Unlock", "true"); });
40 shouldBe("document.webkitPointerLockElement", "null");
41 debug(" Locking targetdiv1.")
42 targetdiv1.webkitRequestPointerLock();
43 expectedTargetToBeLockedString = "targetdiv1";
44 // doNextStep() called by onwebkitpointerlockchange handler.
47 debug(" Locking targetdiv1, again.")
48 targetdiv1.webkitRequestPointerLock();
49 expectedTargetToBeLockedString = "targetdiv1";
50 // doNextStep() called by onwebkitpointerlockchange handler.
53 debug(" Locking targetdiv2.")
54 expectTarget1Unlock = true;
55 targetdiv2.webkitRequestPointerLock();
56 expectedTargetToBeLockedString = "targetdiv2";
57 // doNextStep() called by onwebkitpointerlockchange handler.
60 doNextStepWithUserGesture();