<!DOCTYPE HTML>
<meta charset='utf-8'>
<title>User asked to approve/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 allow.</p>

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

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

nextStep = function() {
  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.';
};

onError = function(err) {
  if (!isUsingPreemptivePermission && err.code === err.POSITION_UNAVAILABLE) {
    nextStep();
  } else {
    document.getElementById('log').innerHTML = 'FAIL: an error callback was invoked unexpectedly: ' + err.message;
  }
};

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