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 if (!window
.testRunner
|| !window
.internals
)
4 debug('This test can not run without testRunner or internals');
6 internals
.setGeolocationClientMock(document
);
8 // Prime the Geolocation instance by denying permission.
9 internals
.setGeolocationPermission(document
, false);
10 internals
.setGeolocationPosition(document
, 51.478, -0.166, 100);
13 navigator
.geolocation
.getCurrentPosition(function(p
) {
14 testFailed('Success callback invoked unexpectedly');
18 shouldBe('error.code', 'error.PERMISSION_DENIED');
19 shouldBe('error.message', '"User denied Geolocation"');
24 function continueTest()
26 // Make another request, with permission already denied.
27 navigator
.geolocation
.getCurrentPosition(function(p
) {
28 testFailed('Success callback invoked unexpectedly');
32 shouldBe('error.code', 'error.PERMISSION_DENIED');
33 shouldBe('error.message', '"User denied Geolocation"');
38 window
.jsTestIsAsync
= true;