forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			62 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* Any copyright is dedicated to the Public Domain.
 | |
|  * http://creativecommons.org/publicdomain/zero/1.0/ */
 | |
| 
 | |
| function test() {
 | |
|   waitForExplicitFinish();
 | |
| 
 | |
|   // Adding one fake site so that the SiteDataManager would run.
 | |
|   // Otherwise, without any site then it would just return so we would end up in not testing SiteDataManager.
 | |
|   let principal =
 | |
|     Services.scriptSecurityManager.createContentPrincipalFromOrigin(
 | |
|       "https://www.foo.com"
 | |
|     );
 | |
|   Services.perms.addFromPrincipal(
 | |
|     principal,
 | |
|     "persistent-storage",
 | |
|     Ci.nsIPermissionManager.ALLOW_ACTION
 | |
|   );
 | |
|   registerCleanupFunction(function () {
 | |
|     Services.perms.removeFromPrincipal(principal, "persistent-storage");
 | |
|   });
 | |
| 
 | |
|   SpecialPowers.pushPrefEnv({
 | |
|     set: [["privacy.userContext.ui.enabled", true]],
 | |
|   }).then(() => open_preferences(runTest));
 | |
| }
 | |
| 
 | |
| async function runTest(win) {
 | |
|   is(gBrowser.currentURI.spec, "about:preferences", "about:preferences loaded");
 | |
| 
 | |
|   let tab = win.document;
 | |
|   let elements = tab.getElementById("mainPrefPane").children;
 | |
| 
 | |
|   // Test if privacy pane is opened correctly
 | |
|   await win.gotoPref("panePrivacy");
 | |
|   for (let element of elements) {
 | |
|     let attributeValue = element.getAttribute("data-category");
 | |
| 
 | |
|     // Ignore the cookie banner handling section, as it is currently preffed
 | |
|     // off by default (bug 1800679).
 | |
|     if (element.id === "cookieBannerHandlingGroup") {
 | |
|       continue;
 | |
|     }
 | |
| 
 | |
|     if (attributeValue == "panePrivacy") {
 | |
|       is_element_visible(element, "HTTPSOnly should be visible");
 | |
| 
 | |
|       is_element_visible(
 | |
|         element,
 | |
|         `Privacy element of id=${element.id} should be visible`
 | |
|       );
 | |
|     } else {
 | |
|       is_element_hidden(
 | |
|         element,
 | |
|         `Non-Privacy element of id=${element.id} should be hidden`
 | |
|       );
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   gBrowser.removeCurrentTab();
 | |
|   win.close();
 | |
|   finish();
 | |
| }
 | 
