Index: LayoutTests/pointer-lock/lock-already-locked-prefixed.html |
diff --git a/LayoutTests/pointer-lock/lock-already-locked-prefixed.html b/LayoutTests/pointer-lock/lock-already-locked-prefixed.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..dbe4148ccf782a39318524cae404d9ec834336d9 |
--- /dev/null |
+++ b/LayoutTests/pointer-lock/lock-already-locked-prefixed.html |
@@ -0,0 +1,63 @@ |
+<!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> |
+ <div id="target1"></div> |
+ <div id="target2"></div> |
+</div> |
+<script> |
+ description("Test calling lock when already in a locked state.") |
+ window.jsTestIsAsync = true; |
+ |
+ targetdiv1 = document.getElementById("target1"); |
+ targetdiv2 = document.getElementById("target2"); |
+ |
+ // Expect change event only for all transitions below. |
+ expectedTargetToBeLockedString = ""; |
+ document.onwebkitpointerlockchange = function () |
+ { |
+ testPassed("document.onwebkitpointerlockchange event received."); |
+ shouldBe("document.webkitPointerLockElement", expectedTargetToBeLockedString); |
+ doNextStepWithUserGesture(); |
+ }; |
+ document.onwebkitpointerlockerror = |
+ function () { testFailed("document.onwebkitpointerlockerror event received."); finishJSTest(); }; |
+ |
+ var expectTarget1Unlock = false; |
+ targetdiv1.addEventListener("webkitpointerlocklost", |
+ function () { shouldBe("expectTarget1Unlock", "true"); }); |
+ |
+ var expectTarget2Unlock = false; |
+ targetdiv2.addEventListener("webkitpointerlocklost", |
+ function () { shouldBe("expectTarget2Unlock", "true"); }); |
+ |
+ todo = [ |
+ function () { |
+ shouldBe("document.webkitPointerLockElement", "null"); |
+ debug(" Locking targetdiv1.") |
+ targetdiv1.webkitRequestPointerLock(); |
+ expectedTargetToBeLockedString = "targetdiv1"; |
+ // doNextStep() called by onwebkitpointerlockchange handler. |
+ }, |
+ function () { |
+ debug(" Locking targetdiv1, again.") |
+ targetdiv1.webkitRequestPointerLock(); |
+ expectedTargetToBeLockedString = "targetdiv1"; |
+ // doNextStep() called by onwebkitpointerlockchange handler. |
+ }, |
+ function () { |
+ debug(" Locking targetdiv2.") |
+ expectTarget1Unlock = true; |
+ targetdiv2.webkitRequestPointerLock(); |
+ expectedTargetToBeLockedString = "targetdiv2"; |
+ // doNextStep() called by onwebkitpointerlockchange handler. |
+ }, |
+ ]; |
+ doNextStepWithUserGesture(); |
+</script> |
+</body> |
+</html> |