Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Unified Diff: LayoutTests/pointer-lock/locked-element-removed-from-dom-prefixed.html

Issue 424213007: Revert of Remove prefixed Pointer Lock API. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/pointer-lock/locked-element-removed-from-dom-prefixed.html
diff --git a/LayoutTests/pointer-lock/locked-element-removed-from-dom-prefixed.html b/LayoutTests/pointer-lock/locked-element-removed-from-dom-prefixed.html
new file mode 100644
index 0000000000000000000000000000000000000000..7003db92f0d9a3e7f0a36fb821a84fe603bedaf0
--- /dev/null
+++ b/LayoutTests/pointer-lock/locked-element-removed-from-dom-prefixed.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<script src="../resources/js-test.js"></script>
+<script src="../http/tests/resources/pointer-lock/pointer-lock-test-harness-prefixed.js"></script>
+</head>
+<body>
+<div>
+ <iframe id="iframe1"></iframe>
+ <div id="target2"></div>
+</div>
+<script>
+ description("Test removing a locked element from a document causes lock to be released.")
+ window.jsTestIsAsync = true;
+
+ targetIframe1 = document.getElementById("iframe1");
+ targetDiv2 = document.getElementById("target2");
+
+ todo = [
+ function () {
+ // Load a blank iframe.
+ targetIframe1.src = "about:blank";
+ targetIframe1.onload = function () { doNextStepWithUserGesture(); }
+ },
+ function () {
+ // Nest target element into iframe document.
+ targetIframe1.contentDocument.body.innerHTML ="<div><div></div></div>";
+ targetDiv1 = targetIframe1.contentDocument.body.firstChild.firstChild
+ expectNoEvents("Lock target in iframe. (main document handler).");
+ expectOnlyChangeEvent("Lock target in iframe. (iframe handler)", targetIframe1.contentDocument);
+ targetDiv1.webkitRequestPointerLock();
+ // doNextStep called by event handler.
+ },
+ function () {
+ shouldBe("targetIframe1.contentDocument.webkitPointerLockElement", "targetDiv1");
+ shouldBe("targetDiv1.parentElement.parentElement", "targetIframe1.contentDocument.body");
+ expectOnlyErrorEvent("Remove targetDiv1's parent from iframe & immediately lock target2. (main document handler)");
+ expectOnlyChangeEvent("Remove targetDiv1's parent from iframe & immediately lock target2. (iframe handler)", targetIframe1.contentDocument);
+ targetDiv1.parentElement.parentElement.removeChild(targetDiv1.parentElement);
+ targetDiv2.webkitRequestPointerLock();
+ shouldBe("document.webkitPointerLockElement", "null");
+ shouldBe("targetDiv1.parentElement.parentElement", "null");
+ // doNextStep called by event handler.
+ },
+ function () {
+ // Absorb an extra doNextStep() from previous event handlers.
+ },
+ ];
+ doNextStep();
+</script>
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698