forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* Any copyright is dedicated to the Public Domain.
 | |
|  * http://creativecommons.org/publicdomain/zero/1.0/ */
 | |
| 
 | |
| add_task(async function testInvalidCapabilityIgnored() {
 | |
|   info(
 | |
|     "Test to make sure that invalid combinations of type and capability are ignored \
 | |
|      so the cookieExceptions management popup does not crash"
 | |
|   );
 | |
|   PermissionTestUtils.add(
 | |
|     "https://mozilla.org",
 | |
|     "cookie",
 | |
|     Ci.nsICookiePermission.ACCESS_ALLOW
 | |
|   );
 | |
| 
 | |
|   // This is an invalid combination of type & capability and should be ignored
 | |
|   PermissionTestUtils.add(
 | |
|     "https://foobar.org",
 | |
|     "cookie",
 | |
|     Ci.nsIHttpsOnlyModePermission.LOAD_INSECURE_ALLOW_SESSION
 | |
|   );
 | |
| 
 | |
|   await openPreferencesViaOpenPreferencesAPI("panePrivacy", {
 | |
|     leaveOpen: true,
 | |
|   });
 | |
|   let doc = gBrowser.contentDocument;
 | |
|   let promiseSubDialogLoaded = promiseLoadSubDialog(
 | |
|     "chrome://browser/content/preferences/dialogs/permissions.xhtml"
 | |
|   );
 | |
|   doc.getElementById("cookieExceptions").doCommand();
 | |
| 
 | |
|   let win = await promiseSubDialogLoaded;
 | |
|   doc = win.document;
 | |
| 
 | |
|   is(
 | |
|     doc.getElementById("permissionsBox").itemCount,
 | |
|     1,
 | |
|     "We only display the permission that is valid for the type cookie"
 | |
|   );
 | |
|   BrowserTestUtils.removeTab(gBrowser.selectedTab);
 | |
| });
 | 
