Upstream version 9.37.197.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / pointer-lock / requestPointerLock-can-not-transfer-between-documents-prefixed.html
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <script src="/js-test-resources/js-test.js"></script>
5 <script src="../resources/pointer-lock/pointer-lock-test-harness-prefixed.js"></script>
6 </head>
7 <body>
8 <div>
9   <div id="target1"></div>
10   <iframe src="../resources/pointer-lock/inner-iframe-prefixed.html" onload="doNextStepWithUserGesture()"></iframe>
11 </div>
12 <script>
13     description("Test iframe from same origin can not transfer pointer lock across documents.")
14     window.jsTestIsAsync = true;
15
16     targetDiv1 = document.getElementById("target1");
17     iframe = document.getElementsByTagName("iframe")[0];
18
19     todo = [
20       function () {
21           expectOnlyChangeEvent("Lock targetDiv1.");
22           targetDiv1.webkitRequestPointerLock();
23           // doNextStep called by event handler.
24       },
25       function () {
26           shouldBe("document.webkitPointerLockElement", "targetDiv1");
27           doNextStep();
28       },
29       function () {
30           iframe.contentWindow.postMessage(["eval", 'document.body.webkitRequestPointerLock()'], "*");
31           window.onmessage = function (messageEvent) {
32               message = messageEvent.data;
33               shouldBeEqualToString("message", "inner-iframe-prefixed.html onwebkitpointerlockerror");
34               window.onmessage = null;
35               doNextStep();
36           }
37       },
38       function () {
39           iframe.contentWindow.postMessage(["eval", 'document.webkitExitPointerLock()'], "*");
40           window.onmessage = function (messageEvent) {
41               testFailed("webkitExitPointerLock from a document that doesn't have a lock caused an event " + messageEvent.data);
42               finishJSTest();
43           }
44           doNextStep();
45       },
46     ];
47     // doNextStep() called by iframe onload handler.
48 </script>
49 </body>
50 </html>