forked from mirrors/gecko-dev
		
	 0c03ba166c
			
		
	
	
		0c03ba166c
		
	
	
	
	
		
			
			We've shipped it on by default since 74 (bug 1617219). Differential Revision: https://phabricator.services.mozilla.com/D86665
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * Any copyright is dedicated to the Public Domain.
 | |
|  * http://creativecommons.org/publicdomain/zero/1.0/
 | |
|  */
 | |
| 
 | |
| const TEST_PAGE =
 | |
|   "https://example.com/browser/browser/base/content/test/permissions/empty.html";
 | |
| 
 | |
| add_task(async function testNoPermissionPrompt() {
 | |
|   info("Creating tab");
 | |
|   await BrowserTestUtils.withNewTab(TEST_PAGE, async function(browser) {
 | |
|     await new Promise(r => {
 | |
|       SpecialPowers.pushPrefEnv(
 | |
|         {
 | |
|           set: [
 | |
|             ["permissions.delegation.enabled", true],
 | |
|             ["dom.vibrator.enabled", true],
 | |
|             ["dom.security.featurePolicy.header.enabled", true],
 | |
|             ["dom.security.featurePolicy.webidl.enabled", true],
 | |
|           ],
 | |
|         },
 | |
|         r
 | |
|       );
 | |
|     });
 | |
| 
 | |
|     await ContentTask.spawn(browser, null, async function() {
 | |
|       let frame = content.document.createElement("iframe");
 | |
|       // Cross origin src
 | |
|       frame.src =
 | |
|         "https://example.org/browser/browser/base/content/test/permissions/empty.html";
 | |
|       await new Promise(resolve => {
 | |
|         frame.addEventListener("load", () => {
 | |
|           resolve();
 | |
|         });
 | |
|         content.document.body.appendChild(frame);
 | |
|       });
 | |
| 
 | |
|       await content.SpecialPowers.spawn(frame, [], async function() {
 | |
|         // Request a permission.
 | |
|         let result = this.content.navigator.vibrate([100, 100]);
 | |
|         Assert.equal(result, false, "navigator.vibrate has been denied");
 | |
|       });
 | |
|       content.document.body.removeChild(frame);
 | |
|     });
 | |
|   });
 | |
| });
 |