forked from mirrors/gecko-dev
		
	 f2d58a7046
			
		
	
	
		f2d58a7046
		
	
	
	
	
		
			
			Automatic update from web-platform-tests geolocation-API: Feature-Policy is now Permissions-Policy (#37120) -- wpt-commits: 5bdff978e0eb2c2af1f142c8b51592eea151b492 wpt-pr: 37120
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <meta charset="utf-8" />
 | |
| <title>Geolocation Test: getCurrentPosition() location access</title>
 | |
| <link
 | |
|   rel="help"
 | |
|   href="https://www.w3.org/TR/geolocation/#getcurrentposition-method"
 | |
| />
 | |
| <script src="/resources/testharness.js"></script>
 | |
| <script src="/resources/testharnessreport.js"></script>
 | |
| <script src="/resources/testdriver.js"></script>
 | |
| <script src="/resources/testdriver-vendor.js"></script>
 | |
| <script>
 | |
|   promise_test(async (t) => {
 | |
|     t.add_cleanup(() => {
 | |
|       return test_driver.set_permission({ name: "geolocation" }, "prompt");
 | |
|     });
 | |
|     await test_driver.set_permission({ name: "geolocation" }, "granted");
 | |
|     const position = await new Promise((resolve, reject) => {
 | |
|       let calledAsync = false;
 | |
|       navigator.geolocation.getCurrentPosition(
 | |
|         t.step_func((position) => {
 | |
|           assert_true(
 | |
|             calledAsync,
 | |
|             "Expected callback to be called asynchronously"
 | |
|           );
 | |
|           resolve(position);
 | |
|         }),
 | |
|         reject
 | |
|       );
 | |
|       calledAsync = true;
 | |
|     });
 | |
|     assert_true(
 | |
|       position instanceof GeolocationPosition,
 | |
|       "Expected GeolocationPosition"
 | |
|     );
 | |
|   }, "User allows access, check that success callback is called.");
 | |
| 
 | |
|   promise_test(async (t) => {
 | |
|     t.add_cleanup(() => {
 | |
|       return test_driver.set_permission({ name: "geolocation" }, "prompt");
 | |
|     });
 | |
|     await test_driver.set_permission({ name: "geolocation" }, "granted");
 | |
|     const position = await new Promise((resolve, reject) => {
 | |
|       try {
 | |
|         navigator.geolocation.getCurrentPosition(resolve, null);
 | |
|       } catch (err) {
 | |
|         reject(err);
 | |
|       }
 | |
|     });
 | |
|     assert_true(
 | |
|       position instanceof GeolocationPosition,
 | |
|       "Expected GeolocationPosition"
 | |
|     );
 | |
|   }, "Error callback is nullable for getCurrentPosition().");
 | |
| </script>
 |