1 description("Tests that when Geolocation permission has been denied prior to a call to a Geolocation method, the error callback is invoked with code PERMISSION_DENIED, when the Geolocation service has a good position.");
3 // Prime the Geolocation instance by denying permission.
4 if (window.layoutTestController) {
5 layoutTestController.setGeolocationPermission(false);
6 layoutTestController.setMockGeolocationPosition(51.478, -0.166, 100);
8 debug('This test can not be run without the LayoutTestController');
11 navigator.geolocation.getCurrentPosition(function(p) {
12 testFailed('Success callback invoked unexpectedly');
16 shouldBe('error.code', 'error.PERMISSION_DENIED');
17 shouldBe('error.message', '"User denied Geolocation"');
22 function continueTest()
24 // Make another request, with permission already denied.
25 navigator.geolocation.getCurrentPosition(function(p) {
26 testFailed('Success callback invoked unexpectedly');
30 shouldBe('error.code', 'error.PERMISSION_DENIED');
31 shouldBe('error.message', '"User denied Geolocation"');
36 window.jsTestIsAsync = true;