blob: ffca3322ea9e1319f00a4eae8dfc185484cd0991 [file] [log] [blame]
<html>
<head>
<title>DeviceOrientation test</title>
<script type="text/javascript">
let eventTimeoutId; // To be set in start().
function checkOrientationEvent(event) {
// Return true iff the orientation is close enough to (1, 2, 3).
return Math.abs(event.alpha - 1) < 0.01 &&
Math.abs(event.beta - 2) < 0.01 &&
Math.abs(event.gamma - 3) < 0.01 &&
event.absolute == false;
}
function onOrientation(event) {
if (checkOrientationEvent(event)) {
window.removeEventListener('deviceorientation', onOrientation);
window.clearTimeout(eventTimeoutId);
pass();
} else {
fail();
}
}
function pass() {
document.getElementById('status').innerHTML = 'PASS';
document.location = '#pass';
}
function fail() {
document.location = '#fail';
}
function failOnTimeoutIfNeeded() {
let params = new URLSearchParams(location.search);
let timeout = Number(params.get("failure_timeout"));
if (timeout > 0)
eventTimeoutId = window.setTimeout(fail, timeout);
}
function start() {
window.addEventListener('deviceorientation', onOrientation);
failOnTimeoutIfNeeded();
}
</script>
</head>
<body onLoad="start()">
<div id="status">FAIL</div>
</body>
</html>