4 <script src="../fast/js/resources/js-test-pre.js"></script>
8 <div id="target"></div>
11 description("Test that pointerlocklost event is dispatched.")
12 window.jsTestIsAsync = true;
13 shouldBeDefined("window.layoutTestController");
15 targetdiv = document.getElementById("target");
17 document.addEventListener("webkitpointerlocklost", locklostHandler);
18 targetdiv.addEventListener("webkitpointerlocklost", locklostHandler);
22 function locklostHandler() {
23 testPassed("webkitpointerlocklost handler call " + locklostreceipts);
25 if (locklostreceipts == locklosthandlers) {
26 testPassed("All expected webkitpointerlocklost events received.");
32 function doNextStep() {
33 todo[currentStep++]();
37 navigator.webkitPointer.lock(targetdiv,
39 shouldBe("navigator.webkitPointer.isLocked", "true");
43 testFailed("Lock failed.");
48 debug("JavaScript initiated unlock.")
50 navigator.webkitPointer.unlock();
53 // locklostHandler will catch unlocks and call doNextStep to bring us here.
54 shouldBe("navigator.webkitPointer.isLocked", "false");
58 navigator.webkitPointer.lock(targetdiv,
60 shouldBe("navigator.webkitPointer.isLocked", "true");
64 testFailed("Lock failed.");
69 debug("Host initiated unlock.")
71 layoutTestController.didLosePointerLock();
74 // locklostHandler will catch unlocks and call doNextStep to bring us here.
75 shouldBe("navigator.webkitPointer.isLocked", "false");
82 <script src="../fast/js/resources/js-test-post.js"></script>