| <!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> |