blob: bcf89029be77530320f55f4c13041c23d3630428 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body>
<script>
description("Tests that when a page is reloaded, the frame is properly detached from the Geolocation object " +
"to ensure that no permission requests are in progress.");
window.jsTestIsAsync = true;
var numPendingRequests;
var isReload = false;
if ("#reload" == location.hash)
isReload = true;
if (window.testRunner) {
numPendingRequests = testRunner.numberOfPendingGeolocationPermissionRequests();
shouldBe('numPendingRequests', '0');
if (isReload)
finishJSTest();
}
if (!isReload) {
// Kick off a position request and then reload the page, this should set up
// a permission request. Permission should be undecided at this point, so the
// permission request should still be outstanding by page reload.
function onIframeReady()
{
// Make request on remote frame's Geolocation object.
iframe.contentWindow.navigator.geolocation.getCurrentPosition(
function(p) {
testFailed('Permission should not be determined for this page: ' + p);
finishJSTest();
});
location.hash = '#reload';
location.reload();
}
debug("Create IFrame");
var iframe = document.createElement('iframe');
iframe.src = 'resources/page-reload-cancel-permission-requests-inner.html';
document.body.appendChild(iframe);
}
</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>