|  | <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> | 
|  | <html> | 
|  | <head> | 
|  | <script src="../resources/js-test.js"></script> | 
|  | <script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> | 
|  | <script src="file:///gen/device/geolocation/public/interfaces/geolocation.mojom.js"></script> | 
|  | <script src="file:///gen/third_party/WebKit/public/platform/modules/geolocation/geolocation_service.mojom.js"></script> | 
|  | <script src="file:///gen/third_party/WebKit/public/platform/modules/permissions/permission.mojom.js"></script> | 
|  | <script src="resources/geolocation-mock.js"></script> | 
|  | </head> | 
|  | <body> | 
|  | <script> | 
|  | description("Tests Geolocation when the geolocation service connection fails."); | 
|  |  | 
|  | var error; | 
|  |  | 
|  | let mock = geolocationMock; | 
|  | mock.setGeolocationPermission(true); | 
|  | mock.rejectGeolocationServiceConnections(); | 
|  |  | 
|  | navigator.geolocation.getCurrentPosition(function(p) { | 
|  | testFailed('Success callback invoked unexpectedly'); | 
|  | finishJSTest(); | 
|  | }, function(e) { | 
|  | error = e; | 
|  | shouldBe('error.code', 'error.PERMISSION_DENIED'); | 
|  | shouldBe('error.message', '"User denied Geolocation"'); | 
|  | finishJSTest(); | 
|  | }); | 
|  |  | 
|  | window.jsTestIsAsync = true; | 
|  | </script> | 
|  | </body> | 
|  | </html> |