OLD | NEW |
| (Empty) |
1 <!DOCTYPE HTML> | |
2 <html> | |
3 <head> | |
4 <script src="../resources/js-test.js"></script> | |
5 <script src="../http/tests/resources/pointer-lock/pointer-lock-test-harness-pref
ixed.js"></script> | |
6 </head> | |
7 <body> | |
8 <div> | |
9 <iframe id="iframe1"></iframe> | |
10 <div id="target2"></div> | |
11 </div> | |
12 <script> | |
13 description("Test removing a locked element from a document causes lock to b
e released.") | |
14 window.jsTestIsAsync = true; | |
15 | |
16 targetIframe1 = document.getElementById("iframe1"); | |
17 targetDiv2 = document.getElementById("target2"); | |
18 | |
19 todo = [ | |
20 function () { | |
21 // Load a blank iframe. | |
22 targetIframe1.src = "about:blank"; | |
23 targetIframe1.onload = function () { doNextStepWithUserGesture(); } | |
24 }, | |
25 function () { | |
26 // Nest target element into iframe document. | |
27 targetIframe1.contentDocument.body.innerHTML ="<div><div></div></div
>"; | |
28 targetDiv1 = targetIframe1.contentDocument.body.firstChild.firstChil
d | |
29 expectNoEvents("Lock target in iframe. (main document handler)."); | |
30 expectOnlyChangeEvent("Lock target in iframe. (iframe handler)", tar
getIframe1.contentDocument); | |
31 targetDiv1.webkitRequestPointerLock(); | |
32 // doNextStep called by event handler. | |
33 }, | |
34 function () { | |
35 shouldBe("targetIframe1.contentDocument.webkitPointerLockElement", "
targetDiv1"); | |
36 shouldBe("targetDiv1.parentElement.parentElement", "targetIframe1.co
ntentDocument.body"); | |
37 expectOnlyErrorEvent("Remove targetDiv1's parent from iframe & immed
iately lock target2. (main document handler)"); | |
38 expectOnlyChangeEvent("Remove targetDiv1's parent from iframe & imme
diately lock target2. (iframe handler)", targetIframe1.contentDocument); | |
39 targetDiv1.parentElement.parentElement.removeChild(targetDiv1.parent
Element); | |
40 targetDiv2.webkitRequestPointerLock(); | |
41 shouldBe("document.webkitPointerLockElement", "null"); | |
42 shouldBe("targetDiv1.parentElement.parentElement", "null"); | |
43 // doNextStep called by event handler. | |
44 }, | |
45 function () { | |
46 // Absorb an extra doNextStep() from previous event handlers. | |
47 }, | |
48 ]; | |
49 doNextStep(); | |
50 </script> | |
51 </body> | |
52 </html> | |
OLD | NEW |