| Index: LayoutTests/pointer-lock/pointerlockchange-pointerlockerror-events-prefixed.html
|
| diff --git a/LayoutTests/pointer-lock/pointerlockchange-pointerlockerror-events-prefixed.html b/LayoutTests/pointer-lock/pointerlockchange-pointerlockerror-events-prefixed.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..af113f781d606d6f107d748161c5ef4be6d67f57
|
| --- /dev/null
|
| +++ b/LayoutTests/pointer-lock/pointerlockchange-pointerlockerror-events-prefixed.html
|
| @@ -0,0 +1,117 @@
|
| +<!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>
|
| + <iframe id="iframe1"></iframe>
|
| + <iframe id="iframe2"></iframe>
|
| +</div>
|
| +<script>
|
| + description("Test expected pointerlockchange and pointerlockerror events.")
|
| + window.jsTestIsAsync = true;
|
| +
|
| + targetDiv1 = document.getElementById("target1");
|
| + targetDiv2 = document.getElementById("target2");
|
| + targetIframe1 = document.getElementById("iframe1");
|
| + targetIframe2 = document.getElementById("iframe2");
|
| +
|
| + // Events must not bubble from document.
|
| + function errorIfEventsBubble() {
|
| + testFailed("Events must not bubble to the window.");
|
| + finishJSTest();
|
| + }
|
| + window.addEventListener("webkitpointerlockchange", errorIfEventsBubble);
|
| + window.addEventListener("webkitpointerlockerror", errorIfEventsBubble);
|
| +
|
| + todo = [
|
| + function () {
|
| + expectNoEvents("Unlock.");
|
| + document.webkitExitPointerLock();
|
| + doNextStepWithUserGesture();
|
| + },
|
| + function () {
|
| + expectOnlyChangeEvent("Lock targetDiv1.");
|
| + targetDiv1.webkitRequestPointerLock();
|
| + },
|
| + function () {
|
| + expectOnlyChangeEvent("Unlock again.");
|
| + document.webkitExitPointerLock();
|
| + },
|
| + function () {
|
| + expectOnlyChangeEvent("Lock targetDiv1 again.");
|
| + targetDiv1.webkitRequestPointerLock();
|
| + },
|
| + function () {
|
| + expectOnlyChangeEvent("Lock targetDiv2.");
|
| + targetDiv2.webkitRequestPointerLock();
|
| + },
|
| + function () {
|
| + expectOnlyChangeEvent("Lock targetDiv2 again.");
|
| + targetDiv2.webkitRequestPointerLock();
|
| + },
|
| + function () {
|
| + expectOnlyChangeEvent("Unlock targetDiv2.");
|
| + document.webkitExitPointerLock();
|
| + },
|
| + function () {
|
| + targetIframe1.src = "about:blank";
|
| + targetIframe1.onload = function () { doNextStep(); }
|
| + },
|
| + function () {
|
| + targetIframe2.src = "about:blank";
|
| + targetIframe2.onload = function () { doNextStep(); }
|
| + },
|
| + function () {
|
| + expectNoEvents("Lock targetIframe1.");
|
| + expectOnlyChangeEvent("Lock targetIframe1 (handler for iframe1).", targetIframe1.contentDocument);
|
| + targetIframe1.contentDocument.body.webkitRequestPointerLock();
|
| + },
|
| + function () {
|
| + expectNoEvents("Lock targetIframe2.");
|
| + expectNoEvents("Lock targetIframe2 (handler for iframe1).", targetIframe1.contentDocument);
|
| + expectOnlyErrorEvent("Lock targetIframe2 (handler for iframe2).", targetIframe2.contentDocument);
|
| + targetIframe2.contentDocument.body.webkitRequestPointerLock();
|
| + },
|
| + function () {
|
| + expectNoEvents("Unlock targetIframe2.");
|
| + expectOnlyChangeEvent("Unlock targetIframe2 (handler for iframe1).", targetIframe1.contentDocument);
|
| + expectNoEvents("Unlock targetIframe2 (handler for iframe2).", targetIframe2.contentDocument);
|
| + targetIframe1.contentDocument.webkitExitPointerLock();
|
| + },
|
| + function () {
|
| + shouldBeDefined("testRunner.setPointerLockWillFailSynchronously");
|
| + testRunner.setPointerLockWillFailSynchronously();
|
| + expectOnlyErrorEvent("Lock with synchronous failure.");
|
| + targetDiv1.webkitRequestPointerLock();
|
| + },
|
| + function () {
|
| + shouldBeDefined("testRunner.setPointerLockWillRespondAsynchronously");
|
| + shouldBeDefined("testRunner.didAcquirePointerLock");
|
| + shouldBeDefined("testRunner.didNotAcquirePointerLock");
|
| + testRunner.setPointerLockWillRespondAsynchronously();
|
| + expectOnlyErrorEvent("Lock with asynchronous failure.");
|
| + targetDiv1.webkitRequestPointerLock();
|
| + doNextStep();
|
| + },
|
| + function () {
|
| + testRunner.didNotAcquirePointerLock();
|
| + },
|
| + function () {
|
| + testRunner.setPointerLockWillRespondAsynchronously();
|
| + expectOnlyChangeEvent("Lock with asynchronous success.");
|
| + targetDiv1.webkitRequestPointerLock();
|
| + doNextStep();
|
| + },
|
| + function () {
|
| + testRunner.didAcquirePointerLock();
|
| + },
|
| + ];
|
| + doNextStep();
|
| +</script>
|
| +</body>
|
| +</html>
|
|
|