| <!--This page has been copied from https://github.com/web-platform-tests/wpt/blob/18ce0b235b34d94aa609088329f0e18499ed5847/webdriver/tests/perform_actions/support/test_actions_pointer_wdspec.html--> | |
| <!doctype html> | |
| <meta charset=utf-8> | |
| <html> | |
| <head> | |
| <title>Test Actions</title> | |
| <style> | |
| div { | |
| padding: 0px; | |
| margin: 0px; | |
| } | |
| #trackPointer { | |
| position: fixed; | |
| } | |
| #resultContainer { | |
| width: 600px; | |
| height: 60px; | |
| } | |
| .area { | |
| width: 100px; | |
| height: 50px; | |
| background-color: #ccc; | |
| } | |
| </style> | |
| <script> | |
| "use strict"; | |
| var els = {}; | |
| var allEvents = { events: [] }; | |
| function displayMessage(message) { | |
| document.getElementById("events").innerHTML += "<p>" + message + "</p>"; | |
| } | |
| function appendMessage(type, message) { | |
| document.getElementById("events").innerHTML += "<p class='" + type + "'>" + message + "</p>"; | |
| } | |
| function recordPointerEvent(event) { | |
| if (event.type === "contextmenu") { | |
| event.preventDefault(); | |
| } | |
| allEvents.events.push({ | |
| "type": event.type, | |
| "button": event.button, | |
| "buttons": event.buttons, | |
| "pageX": event.pageX, | |
| "pageY": event.pageY, | |
| "ctrlKey": event.ctrlKey, | |
| "metaKey": event.metaKey, | |
| "altKey": event.altKey, | |
| "shiftKey": event.shiftKey, | |
| "target": event.target.id, | |
| "pointerType": event.pointerType, | |
| "width": event.width, | |
| "height": event.height, | |
| "pressure": event.pressure, | |
| "tangentialPressure": event.tangentialPressure, | |
| "tiltX": event.tiltX, | |
| "tiltY": event.tiltY, | |
| "twist": event.twist, | |
| "altitudeAngle": event.altitudeAngle, | |
| "azimuthAngle": event.azimuthAngle | |
| }); | |
| appendMessage(event.type, event.type + " " + | |
| "button: " + event.button + ", " + | |
| "pageX: " + event.pageX + ", " + | |
| "pageY: " + event.pageY + ", " + | |
| "buttons: " + event.buttons + ", " + | |
| "ctrlKey: " + event.ctrlKey + ", " + | |
| "altKey: " + event.altKey + ", " + | |
| "metaKey: " + event.metaKey + ", " + | |
| "shiftKey: " + event.shiftKey + ", " + | |
| "target id: " + event.target.id + ", " + | |
| "pointerType: " + event.pointerType + ", " + | |
| "width: " + event.width + ", " + | |
| "height: " + event.height + ", " + | |
| "pressure: " + event.pressure + ", " + | |
| "tangentialPressure: " + event.tangentialPressure + ", " + | |
| "tiltX: " + event.tiltX + ", " + | |
| "tiltY: " + event.tiltY + ", " + | |
| "twist: " + event.twist + ", " + | |
| "altitudeAngle: " + event.altitudeAngle + ", " + | |
| "azimuthAngle: " + event.azimuthAngle); | |
| } | |
| function resetEvents() { | |
| allEvents.events.length = 0; | |
| displayMessage(""); | |
| } | |
| document.addEventListener("DOMContentLoaded", function () { | |
| var pointerArea = document.getElementById("pointerArea"); | |
| pointerArea.addEventListener("pointerdown", recordPointerEvent); | |
| pointerArea.addEventListener("pointermove", recordPointerEvent); | |
| pointerArea.addEventListener("pointerup", recordPointerEvent); | |
| pointerArea.addEventListener("pointerover", recordPointerEvent); | |
| pointerArea.addEventListener("pointerenter", recordPointerEvent); | |
| pointerArea.addEventListener("pointerout", recordPointerEvent); | |
| pointerArea.addEventListener("pointerleave", recordPointerEvent); | |
| }); | |
| </script> | |
| </head> | |
| <body> | |
| <div id="trackPointer" class="block"></div> | |
| <div> | |
| <h2>PointerReporter</h2> | |
| <div id="pointerArea" class="area"> | |
| </div> | |
| </div> | |
| <div id="resultContainer"> | |
| <h2>Events</h2> | |
| <div id="events"></div> | |
| </div> | |
| </body> | |
| </html> |