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

Unified Diff: LayoutTests/pointer-lock/mouse-event-delivery-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/mouse-event-delivery-prefixed.html
diff --git a/LayoutTests/pointer-lock/mouse-event-delivery-prefixed.html b/LayoutTests/pointer-lock/mouse-event-delivery-prefixed.html
new file mode 100644
index 0000000000000000000000000000000000000000..02d25250e99b99197ac21906943aa2a85096dd82
--- /dev/null
+++ b/LayoutTests/pointer-lock/mouse-event-delivery-prefixed.html
@@ -0,0 +1,102 @@
+<!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 id="body">
+<div>
+ <div id="target1"></div>
+ <div id="target2"></div>
+</div>
+<script>
+ description("Test mouse events are routed to lock target.")
+ 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);
+ doNextStep();
+ };
+ document.onwebkitpointerlockerror =
+ function () { testFailed("document.onwebkitpointerlockerror event received."); finishJSTest(); };
+
+ function eventNotExpected(e) {
+ testFailed("Unexpected event " + e.type + " on " + e.currentTarget.id);
+ finishJSTest();
+ }
+ function eventExpected(e) {
+ testPassed("event type: " + e.type + ", target: " + e.target.id + ", received on: " + e.currentTarget.id);
+ }
+
+ todo = [
+ function () {
+ targetdiv1.webkitRequestPointerLock();
+ expectedTargetToBeLockedString = "targetdiv1";
+ // doNextStep() called by onwebkitpointerlockchange handler.
+ },
+ function () {
+ debug(" With a lock in place send a click.")
+ targetdiv1.onmousedown = eventExpected;
+ targetdiv2.onmousedown = eventNotExpected;
+ document.body.onmousedown = eventExpected;
+ if (window.eventSender) {
+ window.eventSender.leapForward(1000);
+ window.eventSender.mouseDown();
+ window.eventSender.mouseUp();
+ }
+ doNextStepWithUserGesture();
+ },
+ function () {
+ targetdiv2.webkitRequestPointerLock();
+ expectedTargetToBeLockedString = "targetdiv2";
+ // doNextStep() called by onwebkitpointerlockchange handler.
+ },
+ function () {
+ debug(" With a lock in place send a click.")
+ targetdiv1.onmousedown = eventNotExpected;
+ targetdiv2.onmousedown = eventExpected;
+ document.body.onmousedown = eventExpected;
+ if (window.eventSender) {
+ window.eventSender.leapForward(1000);
+ window.eventSender.mouseDown();
+ window.eventSender.mouseUp();
+ }
+ doNextStepWithUserGesture();
+ },
+ function () {
+ debug(" Ensure double clicks work as expected, sending 4 clicks.")
+ targetdiv1.onmousedown = undefined;
+ document.body.onmousedown = undefined;
+ targetdiv2.onmousedown = eventExpected;
+ targetdiv2.onmouseup = eventExpected;
+ targetdiv2.onclick = eventExpected;
+ targetdiv2.ondblclick = eventExpected;
+ debug(" Creating a click and dblclick.");
+ if (window.eventSender) {
+ window.eventSender.leapForward(1000);
+ window.eventSender.mouseDown();
+ window.eventSender.mouseUp();
+ window.eventSender.mouseDown();
+ window.eventSender.mouseUp();
+ }
+ debug(" Ensuring no false dblclicks if we continue.");
+ if (window.eventSender) {
+ window.eventSender.mouseDown();
+ window.eventSender.mouseUp();
+ window.eventSender.mouseDown();
+ window.eventSender.mouseUp();
+ }
+ doNextStepWithUserGesture();
+ },
+ ];
+ doNextStepWithUserGesture();
+</script>
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698