42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
var eventFrequencyTable;
|
|
|
|
function resetTest()
|
|
{
|
|
eventFrequencyTable = {};
|
|
}
|
|
|
|
function log(message)
|
|
{
|
|
document.getElementById("console").appendChild(document.createTextNode(message + "\n"));
|
|
}
|
|
|
|
function checkEvent(event)
|
|
{
|
|
if (document.visibilityState === "visible")
|
|
return;
|
|
var type = event.type;
|
|
if (!eventFrequencyTable[type])
|
|
eventFrequencyTable[type] = 0;
|
|
++eventFrequencyTable[type];
|
|
}
|
|
|
|
function handleVisibilityChange()
|
|
{
|
|
if (document.visibilityState === "hidden")
|
|
return;
|
|
var receivedEventsMessageParts = [];
|
|
for (var type in eventFrequencyTable)
|
|
receivedEventsMessageParts.push(type + " (\u00D7 " + eventFrequencyTable[type] + ")");
|
|
if (receivedEventsMessageParts.length)
|
|
log("Expected to receive no events when the page was hidden, but received: " + receivedEventsMessageParts.join(", ") + ".");
|
|
else
|
|
log("Received no events when the page was hidden.");
|
|
resetTest();
|
|
}
|
|
|
|
resetTest();
|
|
|
|
window.addEventListener("devicemotion", checkEvent, false);
|
|
window.addEventListener("deviceorientation", checkEvent, false);
|
|
document.addEventListener("visibilitychange", handleVisibilityChange, false);
|