forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			79 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| /* Any copyright is dedicated to the Public Domain.
 | |
|  * http://creativecommons.org/publicdomain/zero/1.0/ */
 | |
| 
 | |
| const CB_STRICT_FEATURES_PREF = "browser.contentblocking.features.strict";
 | |
| const CB_STRICT_FEATURES_VALUE = "tp,tpPrivate,cookieBehavior5,cm,fp,stp,lvl2";
 | |
| const FPI_PREF = "privacy.firstparty.isolate";
 | |
| const COOKIE_BEHAVIOR_PREF = "network.cookie.cookieBehavior";
 | |
| const COOKIE_BEHAVIOR_VALUE = 5;
 | |
| 
 | |
| async function testStrings() {
 | |
|   await openPreferencesViaOpenPreferencesAPI("privacy", { leaveOpen: true });
 | |
| 
 | |
|   let doc = gBrowser.contentDocument;
 | |
| 
 | |
|   // Check the cookie blocking info strings
 | |
|   let elts = doc.querySelectorAll(
 | |
|     ".extra-information-label.cross-site-cookies-option"
 | |
|   );
 | |
|   for (let elt of elts) {
 | |
|     ok(!elt.hidden, "The new cross-site cookies info label is visible");
 | |
|   }
 | |
| 
 | |
|   // Check the learn more strings
 | |
|   elts = doc.querySelectorAll(
 | |
|     ".tail-with-learn-more.content-blocking-warning-description"
 | |
|   );
 | |
|   for (let elt of elts) {
 | |
|     let id = doc.l10n.getAttributes(elt).id;
 | |
|     is(
 | |
|       id,
 | |
|       "content-blocking-and-isolating-etp-warning-description-2",
 | |
|       "The correct warning description string is in use"
 | |
|     );
 | |
|   }
 | |
| 
 | |
|   // Check the cookie blocking mode menu option string
 | |
|   let elt = doc.querySelector("#isolateCookiesSocialMedia");
 | |
|   let id = doc.l10n.getAttributes(elt).id;
 | |
|   is(
 | |
|     id,
 | |
|     "sitedata-option-block-cross-site-cookies",
 | |
|     "The correct string is in use for the cookie blocking option"
 | |
|   );
 | |
| 
 | |
|   // Check the FPI warning is hidden with FPI off
 | |
|   let warningElt = doc.getElementById("fpiIncompatibilityWarning");
 | |
|   is(warningElt.hidden, true, "The FPI warning is hidden");
 | |
| 
 | |
|   gBrowser.removeCurrentTab();
 | |
| 
 | |
|   // Check the FPI warning is shown only if MVP UI is enabled when FPI is on
 | |
|   await SpecialPowers.pushPrefEnv({ set: [[FPI_PREF, true]] });
 | |
|   await openPreferencesViaOpenPreferencesAPI("privacy", { leaveOpen: true });
 | |
|   doc = gBrowser.contentDocument;
 | |
|   warningElt = doc.getElementById("fpiIncompatibilityWarning");
 | |
|   ok(!warningElt.hidden, `The FPI warning is visible`);
 | |
|   await SpecialPowers.popPrefEnv();
 | |
| 
 | |
|   gBrowser.removeCurrentTab();
 | |
| }
 | |
| 
 | |
| add_task(async function runTests() {
 | |
|   await SpecialPowers.pushPrefEnv({
 | |
|     set: [
 | |
|       [CB_STRICT_FEATURES_PREF, CB_STRICT_FEATURES_VALUE],
 | |
|       [FPI_PREF, false],
 | |
|     ],
 | |
|   });
 | |
|   let defaults = Services.prefs.getDefaultBranch("");
 | |
|   let originalCookieBehavior = defaults.getIntPref(COOKIE_BEHAVIOR_PREF);
 | |
|   defaults.setIntPref(COOKIE_BEHAVIOR_PREF, COOKIE_BEHAVIOR_VALUE);
 | |
|   registerCleanupFunction(() => {
 | |
|     defaults.setIntPref(COOKIE_BEHAVIOR_PREF, originalCookieBehavior);
 | |
|   });
 | |
| 
 | |
|   await testStrings();
 | |
| });
 | 
