upload webkit/tizen 2.0_beta source.
[framework/web/webkit-efl.git] / LayoutTests / pointer-lock / pointerlocklost-event.html
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <script src="../fast/js/resources/js-test-pre.js"></script>
5 </head>
6 <body>
7 <div>
8   <div id="target"></div>
9 </div>
10 <script>
11     description("Test that pointerlocklost event is dispatched.")
12     window.jsTestIsAsync = true;
13     shouldBeDefined("window.layoutTestController");
14
15     targetdiv = document.getElementById("target");
16
17     document.addEventListener("webkitpointerlocklost", locklostHandler);
18     targetdiv.addEventListener("webkitpointerlocklost", locklostHandler);
19     locklosthandlers = 2;
20
21     locklostreceipts = 0;
22     function locklostHandler() {
23         testPassed("webkitpointerlocklost handler call " + locklostreceipts);
24         locklostreceipts++;
25         if (locklostreceipts == locklosthandlers) {
26             testPassed("All expected webkitpointerlocklost events received.");
27             doNextStep();
28         }
29     }
30
31     currentStep = 0;
32     function doNextStep() {
33       todo[currentStep++]();
34     }
35     todo = [
36         function () {
37             navigator.webkitPointer.lock(targetdiv,
38                 function () {
39                     shouldBe("navigator.webkitPointer.isLocked", "true");
40                     doNextStep();
41                 },
42                 function () {
43                     testFailed("Lock failed.");
44                     finishJSTest();
45                 });
46         },
47         function () {
48             debug("JavaScript initiated unlock.")
49             locklostreceipts = 0;
50             navigator.webkitPointer.unlock();
51         },
52         function () {
53             // locklostHandler will catch unlocks and call doNextStep to bring us here.
54             shouldBe("navigator.webkitPointer.isLocked", "false");
55             doNextStep();
56         },
57         function () {
58             navigator.webkitPointer.lock(targetdiv,
59                 function () {
60                     shouldBe("navigator.webkitPointer.isLocked", "true");
61                     doNextStep();
62                 },
63                 function () {
64                     testFailed("Lock failed.");
65                     finishJSTest();
66                 });
67         },
68         function () {
69             debug("Host initiated unlock.")
70             locklostreceipts = 0;
71             layoutTestController.didLosePointerLock();
72         },
73         function () {
74             // locklostHandler will catch unlocks and call doNextStep to bring us here.
75             shouldBe("navigator.webkitPointer.isLocked", "false");
76             doNextStep();
77         },
78         finishJSTest
79     ];
80     doNextStep();
81 </script>
82 <script src="../fast/js/resources/js-test-post.js"></script>
83 </body>
84 </html>
85