<!DOCTYPE HTML>
<meta charset='utf-8'>
<title>User asked to deny/remember, then asked to revoke, then reload. The permission dialogue should reappear</title>
<link rel='help' href='http://www.w3.org/TR/geolocation-API/#get-current-position'>

<p>Clear all Geolocation permissions before running this test. If prompted for permission, please deny.</p>

<div id='log'></div>

<script>
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00142
var onSuccess, nextStep, isUsingPreemptivePermission = false;

onSuccess = function() {
  document.getElementById('log').innerHTML = 'FAIL: a success callback was invoked unexpectedly.';
};

nextStep = function(err) {
  if ((err.code === err.PERMISSION_DENIED) ||
      (!isUsingPreemptivePermission && err.code === err.POSITION_UNAVAILABLE)) {
    document.querySelector('p').innerHTML =
        'Now revoke permissions for this origin (where applicable) and reload the page. Tests passes if there is a permission prompt again and no FAIL.';
  } else {
    document.getElementById('log').innerHTML =
        'FAIL: an error callback was invoked with unexpected error code: ' + err.code +  ', error message: ' + err.message;
  }
};

try {
  navigator.geolocation.getCurrentPosition(onSuccess, nextStep);
} catch (e) {
  document.getElementById('log').innerHTML = 'FAIL: an exception was thrown unexpectedly: ' + e.message;
}
</script>
