Move parseFontFaceDescriptor to CSSPropertyParser.cpp
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / pointer-lock / locked-element-iframe-removed-from-dom.html
blob95ec6bbfa74c6fdc18f87be294bb0477064be333
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.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 an iframe containing a locked element causes lock to be released.")
14 window.jsTestIsAsync = true;
16 targetIframe1 = document.getElementById("iframe1");
17 targetDiv2 = document.getElementById("target2");
19 todo = [
20 function () {
21 // Load a blank iframe.
22 targetIframe1.src = "about:blank";
23 targetIframe1.onload = function () { doNextStepWithUserGesture(); }
25 function () {
26 // Nest target element into iframe document.
27 targetIframe1.contentDocument.body.innerHTML ="<div><div></div></div>";
28 targetDiv1 = targetIframe1.contentDocument.body.firstChild.firstChild
29 expectNoEvents("Lock target in iframe. (main document handler)");
30 expectOnlyChangeEvent("Lock target in iframe. (iframe handler)", targetIframe1.contentDocument);
31 targetDiv1.requestPointerLock();
32 // doNextStep called by event handler.
34 function () {
35 shouldBe("targetIframe1.contentDocument.pointerLockElement", "targetDiv1");
36 shouldBe("targetDiv1.parentElement.parentElement", "targetIframe1.contentDocument.body");
37 expectOnlyChangeEvent("Remove iframe & immediately lock target2. (main document handler)");
38 expectNoEvents("Remove iframe & immediately lock target2. (iframe handler)", targetIframe1.contentDocument);
39 targetIframe1.parentElement.removeChild(targetIframe1);
40 targetDiv2.requestPointerLock();
41 shouldBe("document.pointerLockElement", "null");
42 // doNextStep called by event handler.
45 doNextStep();
46 </script>
47 </body>
48 </html>