blob: 5e69ac1cde6dc03ff4c998a4612aed9ac1872525 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body onload="runTest()">
<script>
description("Tests that the GeolocationClient only starts updating when the page becomes visible");
window.jsTestIsAsync = true;
function geolocationWatchFunction()
{
}
function checkNotUpdatingAndShowPage()
{
shouldBeFalse("testRunner.isGeolocationProviderActive()");
debug("Changing page visibility to 'visible'");
testRunner.setPageVisibility("visible");
}
function onVisibilityChange() {
debug("Page visibility changed to " + !document.hidden);
if (document.hidden) {
shouldBeFalse("testRunner.isGeolocationProviderActive()");
debug("Adding Geolocation watcher");
navigator.geolocation.watchPosition(geolocationWatchFunction);
setTimeout(checkNotUpdatingAndShowPage, 50);
} else
shouldBecomeEqual("testRunner.isGeolocationProviderActive()", "true", finishJSTest);
}
document.addEventListener("visibilitychange", onVisibilityChange, false)
if (window.testRunner) {
testRunner.setGeolocationPermission(true);
testRunner.setMockGeolocationPosition(1, 2, 3);
}
function runTest()
{
debug("Page is initially visible");
shouldBeFalse("document.hidden");
shouldBeFalse("testRunner.isGeolocationProviderActive()");
debug("Changing page visibility to 'hidden'");
if (window.testRunner)
testRunner.setPageVisibility("hidden");
}
</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>