OLD | NEW |
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> | 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <script src="../../../resources/js-test.js"></script> | 4 <script src="../resources/js-test.js"></script> |
5 <script src="../../../resources/mojo-helpers.js"></script> | 5 <script src="../resources/mojo-helpers.js"></script> |
6 <script src="resources/geolocation-mock.js"></script> | 6 <script src="resources/geolocation-mock.js"></script> |
7 </head> | 7 </head> |
8 <body> | 8 <body> |
9 <script> | 9 <script> |
10 description("Tests that when a watch times out and is cleared from the error cal
lback, there is no crash. This a regression test for https://bugs.webkit.org/sho
w_bug.cgi?id=32111."); | 10 description("Tests that when a watch times out and is cleared from the error cal
lback, there is no crash. This a regression test for https://bugs.webkit.org/sho
w_bug.cgi?id=32111."); |
11 | 11 |
12 var error; | 12 var error; |
13 | 13 |
14 geolocationServiceMock.then(mock => { | 14 geolocationServiceMock.then(mock => { |
15 mock.setGeolocationPosition(51.478, -0.166, 100.0); | 15 mock.setGeolocationPosition(51.478, -0.166, 100.0); |
16 | 16 |
17 var watchId = navigator.geolocation.watchPosition(function() { | 17 var watchId = navigator.geolocation.watchPosition(function() { |
18 testFailed('Success callback invoked unexpectedly'); | 18 testFailed('Success callback invoked unexpectedly'); |
19 finishJSTest(); | 19 finishJSTest(); |
20 }, function(e) { | 20 }, function(e) { |
21 error = e; | 21 error = e; |
22 shouldBe('error.code', 'error.TIMEOUT'); | 22 shouldBe('error.code', 'error.TIMEOUT'); |
23 shouldBe('error.message', '"Timeout expired"'); | 23 shouldBe('error.message', '"Timeout expired"'); |
24 navigator.geolocation.clearWatch(watchId); | 24 navigator.geolocation.clearWatch(watchId); |
25 window.setTimeout(finishJSTest, 0); | 25 window.setTimeout(finishJSTest, 0); |
26 }, { | 26 }, { |
27 timeout: 0 | 27 timeout: 0 |
28 }); | 28 }); |
29 }); | 29 }); |
30 | 30 |
31 window.jsTestIsAsync = true; | 31 window.jsTestIsAsync = true; |
32 </script> | 32 </script> |
33 </body> | 33 </body> |
34 </html> | 34 </html> |
OLD | NEW |