Bug 1491061 - Part 2: Add tests to ensure that third-party cookie blocking restrictions under content blocking also follow UI prefs r=baku

Depends on D5887

Differential Revision: https://phabricator.services.mozilla.com/D5888

--HG--
rename : toolkit/components/antitracking/test/browser/browser_imageCache6.js => toolkit/components/antitracking/test/browser/browser_imageCache10.js
rename : toolkit/components/antitracking/test/browser/browser_imageCache5.js => toolkit/components/antitracking/test/browser/browser_imageCache11.js
rename : toolkit/components/antitracking/test/browser/browser_imageCache5.js => toolkit/components/antitracking/test/browser/browser_imageCache12.js
rename : toolkit/components/antitracking/test/browser/browser_imageCache7.js => toolkit/components/antitracking/test/browser/browser_imageCache13.js
rename : toolkit/components/antitracking/test/browser/browser_imageCache7.js => toolkit/components/antitracking/test/browser/browser_imageCache14.js
rename : toolkit/components/antitracking/test/browser/browser_imageCache7.js => toolkit/components/antitracking/test/browser/browser_imageCache15.js
rename : toolkit/components/antitracking/test/browser/browser_imageCache4.js => toolkit/components/antitracking/test/browser/browser_imageCache8.js
rename : toolkit/components/antitracking/test/browser/browser_imageCache5.js => toolkit/components/antitracking/test/browser/browser_imageCache9.js
extra : moz-landing-system : lando
This commit is contained in:
Ehsan Akhgari 2018-09-20 15:45:52 +00:00
Родитель 3093f23e7b
Коммит 05602760e1
24 изменённых файлов: 397 добавлений и 19 удалений

Просмотреть файл

@ -30,6 +30,14 @@ support-files = server.sjs
[browser_imageCache5.js]
[browser_imageCache6.js]
[browser_imageCache7.js]
[browser_imageCache8.js]
[browser_imageCache9.js]
[browser_imageCache10.js]
[browser_imageCache11.js]
[browser_imageCache12.js]
[browser_imageCache13.js]
[browser_imageCache14.js]
[browser_imageCache15.js]
[browser_onBeforeRequestNotificationForTrackingResources.js]
[browser_onModifyRequestNotificationForTrackingResources.js]
[browser_permissionInNormalWindows.js]

Просмотреть файл

@ -6,6 +6,8 @@ add_task(async function() {
await SpecialPowers.flushPrefEnv();
await SpecialPowers.pushPrefEnv({"set": [
["browser.contentblocking.enabled", true],
["browser.contentblocking.ui.enabled", true],
["browser.contentblocking.rejecttrackers.ui.enabled", true],
["browser.fastblock.enabled", false],
["network.cookie.cookieBehavior", Ci.nsICookieService.BEHAVIOR_REJECT_TRACKER],
["privacy.trackingprotection.enabled", false],

Просмотреть файл

@ -75,6 +75,8 @@ add_task(async function() {
// Now set up our prefs
await SpecialPowers.pushPrefEnv({"set": [
["browser.contentblocking.enabled", true],
["browser.contentblocking.ui.enabled", true],
["browser.contentblocking.rejecttrackers.ui.enabled", true],
["network.cookie.cookieBehavior", Ci.nsICookieService.BEHAVIOR_REJECT_TRACKER],
]});

Просмотреть файл

@ -2,6 +2,8 @@ ChromeUtils.import("resource://gre/modules/Services.jsm");
let cookieBehavior = BEHAVIOR_REJECT_TRACKER;
let blockingByContentBlocking = false;
let blockingByContentBlockingUI = true;
let blockingByContentBlockingRTUI = true;
let blockingByAllowList = false;
let expectedBlockingNotifications = true;

Просмотреть файл

@ -0,0 +1,18 @@
ChromeUtils.import("resource://gre/modules/Services.jsm");
let cookieBehavior = BEHAVIOR_REJECT_FOREIGN;
let blockingByContentBlocking = false;
let blockingByContentBlockingUI = true;
let blockingByContentBlockingRTUI = true;
let blockingByAllowList = false;
let expectedBlockingNotifications = true;
let rootDir = getRootDirectory(gTestPath);
let jar = getJar(rootDir);
if (jar) {
let tmpdir = extractJarToTmp(jar);
rootDir = "file://" + tmpdir.path + "/";
}
/* import-globals-from imageCacheWorker.js */
Services.scriptloader.loadSubScript(rootDir + "imageCacheWorker.js", this);

Просмотреть файл

@ -0,0 +1,18 @@
ChromeUtils.import("resource://gre/modules/Services.jsm");
let cookieBehavior = BEHAVIOR_REJECT_FOREIGN;
let blockingByContentBlocking = true;
let blockingByContentBlockingUI = false;
let blockingByContentBlockingRTUI = true;
let blockingByAllowList = false;
let expectedBlockingNotifications = true;
let rootDir = getRootDirectory(gTestPath);
let jar = getJar(rootDir);
if (jar) {
let tmpdir = extractJarToTmp(jar);
rootDir = "file://" + tmpdir.path + "/";
}
/* import-globals-from imageCacheWorker.js */
Services.scriptloader.loadSubScript(rootDir + "imageCacheWorker.js", this);

Просмотреть файл

@ -0,0 +1,18 @@
ChromeUtils.import("resource://gre/modules/Services.jsm");
let cookieBehavior = BEHAVIOR_REJECT_FOREIGN;
let blockingByContentBlocking = true;
let blockingByContentBlockingUI = true;
let blockingByContentBlockingRTUI = false;
let blockingByAllowList = false;
let expectedBlockingNotifications = true;
let rootDir = getRootDirectory(gTestPath);
let jar = getJar(rootDir);
if (jar) {
let tmpdir = extractJarToTmp(jar);
rootDir = "file://" + tmpdir.path + "/";
}
/* import-globals-from imageCacheWorker.js */
Services.scriptloader.loadSubScript(rootDir + "imageCacheWorker.js", this);

Просмотреть файл

@ -0,0 +1,21 @@
ChromeUtils.import("resource://gre/modules/Services.jsm");
/* Setting a custom permission for this website */
let uriObj = Services.io.newURI(TEST_DOMAIN);
Services.perms.add(uriObj, "cookie", Services.perms.ALLOW_ACTION);
let cookieBehavior = BEHAVIOR_REJECT_TRACKER;
let blockingByContentBlocking = false;
let blockingByContentBlockingUI = true;
let blockingByContentBlockingRTUI = true;
let blockingByAllowList = false;
let expectedBlockingNotifications = false;
let rootDir = getRootDirectory(gTestPath);
let jar = getJar(rootDir);
if (jar) {
let tmpdir = extractJarToTmp(jar);
rootDir = "file://" + tmpdir.path + "/";
}
/* import-globals-from imageCacheWorker.js */
Services.scriptloader.loadSubScript(rootDir + "imageCacheWorker.js", this);

Просмотреть файл

@ -0,0 +1,21 @@
ChromeUtils.import("resource://gre/modules/Services.jsm");
/* Setting a custom permission for this website */
let uriObj = Services.io.newURI(TEST_DOMAIN);
Services.perms.add(uriObj, "cookie", Services.perms.ALLOW_ACTION);
let cookieBehavior = BEHAVIOR_REJECT_TRACKER;
let blockingByContentBlocking = true;
let blockingByContentBlockingUI = false;
let blockingByContentBlockingRTUI = true;
let blockingByAllowList = false;
let expectedBlockingNotifications = false;
let rootDir = getRootDirectory(gTestPath);
let jar = getJar(rootDir);
if (jar) {
let tmpdir = extractJarToTmp(jar);
rootDir = "file://" + tmpdir.path + "/";
}
/* import-globals-from imageCacheWorker.js */
Services.scriptloader.loadSubScript(rootDir + "imageCacheWorker.js", this);

Просмотреть файл

@ -0,0 +1,21 @@
ChromeUtils.import("resource://gre/modules/Services.jsm");
/* Setting a custom permission for this website */
let uriObj = Services.io.newURI(TEST_DOMAIN);
Services.perms.add(uriObj, "cookie", Services.perms.ALLOW_ACTION);
let cookieBehavior = BEHAVIOR_REJECT_TRACKER;
let blockingByContentBlocking = true;
let blockingByContentBlockingUI = true;
let blockingByContentBlockingRTUI = false;
let blockingByAllowList = false;
let expectedBlockingNotifications = false;
let rootDir = getRootDirectory(gTestPath);
let jar = getJar(rootDir);
if (jar) {
let tmpdir = extractJarToTmp(jar);
rootDir = "file://" + tmpdir.path + "/";
}
/* import-globals-from imageCacheWorker.js */
Services.scriptloader.loadSubScript(rootDir + "imageCacheWorker.js", this);

Просмотреть файл

@ -2,6 +2,8 @@ ChromeUtils.import("resource://gre/modules/Services.jsm");
let cookieBehavior = BEHAVIOR_REJECT_TRACKER;
let blockingByContentBlocking = true;
let blockingByContentBlockingUI = false;
let blockingByContentBlockingRTUI = true;
let blockingByAllowList = false;
let expectedBlockingNotifications = true;

Просмотреть файл

@ -1,7 +1,9 @@
ChromeUtils.import("resource://gre/modules/Services.jsm");
let cookieBehavior = BEHAVIOR_REJECT_TRACKER;
let blockingByContentBlocking = false;
let blockingByContentBlocking = true;
let blockingByContentBlockingUI = true;
let blockingByContentBlockingRTUI = false;
let blockingByAllowList = false;
let expectedBlockingNotifications = true;

Просмотреть файл

@ -2,7 +2,9 @@ ChromeUtils.import("resource://gre/modules/Services.jsm");
let cookieBehavior = BEHAVIOR_REJECT_TRACKER;
let blockingByContentBlocking = true;
let blockingByAllowList = true;
let blockingByContentBlockingUI = true;
let blockingByContentBlockingRTUI = true;
let blockingByAllowList = false;
let expectedBlockingNotifications = true;
let rootDir = getRootDirectory(gTestPath);

Просмотреть файл

@ -1,8 +1,10 @@
ChromeUtils.import("resource://gre/modules/Services.jsm");
let cookieBehavior = BEHAVIOR_REJECT_FOREIGN;
let blockingByContentBlocking = true;
let blockingByAllowList = true;
let cookieBehavior = BEHAVIOR_REJECT_TRACKER;
let blockingByContentBlocking = false;
let blockingByContentBlockingUI = true;
let blockingByContentBlockingRTUI = true;
let blockingByAllowList = false;
let expectedBlockingNotifications = true;
let rootDir = getRootDirectory(gTestPath);

Просмотреть файл

@ -1,7 +1,9 @@
ChromeUtils.import("resource://gre/modules/Services.jsm");
let cookieBehavior = BEHAVIOR_REJECT_FOREIGN;
let blockingByContentBlocking = false;
let cookieBehavior = BEHAVIOR_REJECT_TRACKER;
let blockingByContentBlocking = true;
let blockingByContentBlockingUI = false;
let blockingByContentBlockingRTUI = true;
let blockingByAllowList = false;
let expectedBlockingNotifications = true;

Просмотреть файл

@ -1,13 +1,11 @@
ChromeUtils.import("resource://gre/modules/Services.jsm");
/* Setting a custom permission for this website */
let uriObj = Services.io.newURI(TEST_DOMAIN);
Services.perms.add(uriObj, "cookie", Services.perms.ALLOW_ACTION);
let cookieBehavior = BEHAVIOR_REJECT_TRACKER;
let blockingByContentBlocking = false;
let blockingByContentBlocking = true;
let blockingByContentBlockingUI = true;
let blockingByContentBlockingRTUI = false;
let blockingByAllowList = false;
let expectedBlockingNotifications = false;
let expectedBlockingNotifications = true;
let rootDir = getRootDirectory(gTestPath);
let jar = getJar(rootDir);
@ -17,3 +15,4 @@ if (jar) {
}
/* import-globals-from imageCacheWorker.js */
Services.scriptloader.loadSubScript(rootDir + "imageCacheWorker.js", this);

Просмотреть файл

@ -0,0 +1,18 @@
ChromeUtils.import("resource://gre/modules/Services.jsm");
let cookieBehavior = BEHAVIOR_REJECT_TRACKER;
let blockingByContentBlocking = true;
let blockingByContentBlockingUI = true;
let blockingByContentBlockingRTUI = true;
let blockingByAllowList = true;
let expectedBlockingNotifications = true;
let rootDir = getRootDirectory(gTestPath);
let jar = getJar(rootDir);
if (jar) {
let tmpdir = extractJarToTmp(jar);
rootDir = "file://" + tmpdir.path + "/";
}
/* import-globals-from imageCacheWorker.js */
Services.scriptloader.loadSubScript(rootDir + "imageCacheWorker.js", this);

Просмотреть файл

@ -0,0 +1,18 @@
ChromeUtils.import("resource://gre/modules/Services.jsm");
let cookieBehavior = BEHAVIOR_REJECT_FOREIGN;
let blockingByContentBlocking = true;
let blockingByContentBlockingUI = true;
let blockingByContentBlockingRTUI = true;
let blockingByAllowList = true;
let expectedBlockingNotifications = true;
let rootDir = getRootDirectory(gTestPath);
let jar = getJar(rootDir);
if (jar) {
let tmpdir = extractJarToTmp(jar);
rootDir = "file://" + tmpdir.path + "/";
}
/* import-globals-from imageCacheWorker.js */
Services.scriptloader.loadSubScript(rootDir + "imageCacheWorker.js", this);

Просмотреть файл

@ -53,6 +53,8 @@ add_task(async function() {
await SpecialPowers.flushPrefEnv();
await SpecialPowers.pushPrefEnv({"set": [
["browser.contentblocking.enabled", true],
["browser.contentblocking.ui.enabled", true],
["browser.contentblocking.rejecttrackers.ui.enabled", true],
["browser.fastblock.enabled", false],
["privacy.trackingprotection.enabled", true],
// the test doesn't open a private window, so we don't care about this pref's value

Просмотреть файл

@ -48,6 +48,8 @@ add_task(async function() {
await SpecialPowers.flushPrefEnv();
await SpecialPowers.pushPrefEnv({"set": [
["browser.contentblocking.enabled", true],
["browser.contentblocking.ui.enabled", true],
["browser.contentblocking.rejecttrackers.ui.enabled", true],
["browser.fastblock.enabled", false],
["privacy.trackingprotection.enabled", true],
// the test doesn't open a private window, so we don't care about this pref's value

Просмотреть файл

@ -6,6 +6,8 @@ add_task(async function() {
await SpecialPowers.flushPrefEnv();
await SpecialPowers.pushPrefEnv({"set": [
["browser.contentblocking.enabled", true],
["browser.contentblocking.ui.enabled", true],
["browser.contentblocking.rejecttrackers.ui.enabled", true],
["browser.fastblock.enabled", false],
["network.cookie.cookieBehavior", Ci.nsICookieService.BEHAVIOR_REJECT_TRACKER],
["privacy.trackingprotection.enabled", false],

Просмотреть файл

@ -6,6 +6,8 @@ add_task(async function() {
await SpecialPowers.flushPrefEnv();
await SpecialPowers.pushPrefEnv({"set": [
["browser.contentblocking.enabled", true],
["browser.contentblocking.ui.enabled", true],
["browser.contentblocking.rejecttrackers.ui.enabled", true],
["browser.fastblock.enabled", false],
["network.cookie.cookieBehavior", Ci.nsICookieService.BEHAVIOR_REJECT_TRACKER],
["privacy.trackingprotection.enabled", false],

Просмотреть файл

@ -20,7 +20,7 @@ var gFeatures = undefined;
let {UrlClassifierTestUtils} = ChromeUtils.import("resource://testing-common/UrlClassifierTestUtils.jsm", {});
requestLongerTimeout(2);
requestLongerTimeout(3);
this.AntiTracking = {
runTest(name, callbackTracking, callbackNonTracking, cleanupFunction, extraPrefs,
@ -31,6 +31,8 @@ this.AntiTracking = {
name,
cookieBehavior: BEHAVIOR_REJECT_TRACKER,
blockingByContentBlocking: true,
blockingByContentBlockingUI: true,
blockingByContentBlockingRTUI: true,
allowList: false,
callback: callbackTracking,
extraPrefs,
@ -57,6 +59,18 @@ this.AntiTracking = {
} else {
options.blockingByContentBlocking = false;
}
if ("blockingByContentBlockingUI" in callbackNonTracking) {
options.blockingByContentBlockingUI =
callbackNonTracking.blockingByContentBlockingUI;
} else {
options.blockingByContentBlockingUI = false;
}
if ("blockingByContentBlockingRTUI" in callbackNonTracking) {
options.blockingByContentBlockingRTUI =
callbackNonTracking.blockingByContentBlockingRTUI;
} else {
options.blockingByContentBlockingRTUI = false;
}
if ("blockingByAllowList" in callbackNonTracking) {
options.blockingByAllowList =
callbackNonTracking.blockingByAllowList;
@ -67,9 +81,11 @@ this.AntiTracking = {
// Phase 1: Here we want to test that a 3rd party context is not blocked if pref is off.
if (runExtraTests) {
// There are four ways in which the third-party context may not be blocked:
// There are six ways in which the third-party context may not be blocked:
// * If the cookieBehavior pref causes it to not be blocked.
// * If the contentBlocking pref causes it to not be blocked.
// * If the contentBlocking UI pref causes it to not be blocked.
// * If the contentBlocking third-party cookies UI pref causes it to not be blocked.
// * If both of these prefs cause it to not be blocked.
// * If the top-level page is on the content blocking allow list.
// All of these cases are tested here.
@ -77,6 +93,8 @@ this.AntiTracking = {
name,
cookieBehavior: BEHAVIOR_ACCEPT,
blockingByContentBlocking: true,
blockingByContentBlockingUI: true,
blockingByContentBlockingRTUI: true,
allowList: false,
callback: callbackNonTracking,
extraPrefs: [],
@ -90,6 +108,38 @@ this.AntiTracking = {
name,
cookieBehavior: BEHAVIOR_REJECT_FOREIGN,
blockingByContentBlocking: false,
blockingByContentBlockingUI: true,
blockingByContentBlockingRTUI: true,
allowList: false,
callback: callbackNonTracking,
extraPrefs: [],
expectedBlockingNotifications: false,
runInPrivateWindow,
iframeSandbox,
});
this._createCleanupTask(cleanupFunction);
this._createTask({
name,
cookieBehavior: BEHAVIOR_REJECT_FOREIGN,
blockingByContentBlocking: true,
blockingByContentBlockingUI: false,
blockingByContentBlockingRTUI: true,
allowList: false,
callback: callbackNonTracking,
extraPrefs: [],
expectedBlockingNotifications: false,
runInPrivateWindow,
iframeSandbox,
});
this._createCleanupTask(cleanupFunction);
this._createTask({
name,
cookieBehavior: BEHAVIOR_REJECT_FOREIGN,
blockingByContentBlocking: true,
blockingByContentBlockingUI: true,
blockingByContentBlockingRTUI: false,
allowList: false,
callback: callbackNonTracking,
extraPrefs: [],
@ -103,6 +153,38 @@ this.AntiTracking = {
name,
cookieBehavior: BEHAVIOR_REJECT_TRACKER,
blockingByContentBlocking: false,
blockingByContentBlockingUI: true,
blockingByContentBlockingRTUI: true,
allowList: false,
callback: callbackNonTracking,
extraPrefs: [],
expectedBlockingNotifications: false,
runInPrivateWindow,
iframeSandbox,
});
this._createCleanupTask(cleanupFunction);
this._createTask({
name,
cookieBehavior: BEHAVIOR_REJECT_TRACKER,
blockingByContentBlocking: true,
blockingByContentBlockingUI: false,
blockingByContentBlockingRTUI: true,
allowList: false,
callback: callbackNonTracking,
extraPrefs: [],
expectedBlockingNotifications: false,
runInPrivateWindow,
iframeSandbox,
});
this._createCleanupTask(cleanupFunction);
this._createTask({
name,
cookieBehavior: BEHAVIOR_REJECT_TRACKER,
blockingByContentBlocking: true,
blockingByContentBlockingUI: true,
blockingByContentBlockingRTUI: false,
allowList: false,
callback: callbackNonTracking,
extraPrefs: [],
@ -116,6 +198,38 @@ this.AntiTracking = {
name,
cookieBehavior: BEHAVIOR_REJECT_FOREIGN,
blockingByContentBlocking: false,
blockingByContentBlockingUI: true,
blockingByContentBlockingRTUI: true,
allowList: true,
callback: callbackNonTracking,
extraPrefs: [],
expectedBlockingNotifications: false,
runInPrivateWindow,
iframeSandbox,
});
this._createCleanupTask(cleanupFunction);
this._createTask({
name,
cookieBehavior: BEHAVIOR_REJECT_FOREIGN,
blockingByContentBlocking: true,
blockingByContentBlockingUI: false,
blockingByContentBlockingRTUI: true,
allowList: true,
callback: callbackNonTracking,
extraPrefs: [],
expectedBlockingNotifications: false,
runInPrivateWindow,
iframeSandbox,
});
this._createCleanupTask(cleanupFunction);
this._createTask({
name,
cookieBehavior: BEHAVIOR_REJECT_FOREIGN,
blockingByContentBlocking: true,
blockingByContentBlockingUI: true,
blockingByContentBlockingRTUI: false,
allowList: true,
callback: callbackNonTracking,
extraPrefs: [],
@ -129,6 +243,38 @@ this.AntiTracking = {
name,
cookieBehavior: BEHAVIOR_REJECT_TRACKER,
blockingByContentBlocking: false,
blockingByContentBlockingUI: true,
blockingByContentBlockingRTUI: true,
allowList: true,
callback: callbackNonTracking,
extraPrefs: [],
expectedBlockingNotifications: false,
runInPrivateWindow,
iframeSandbox,
});
this._createCleanupTask(cleanupFunction);
this._createTask({
name,
cookieBehavior: BEHAVIOR_REJECT_TRACKER,
blockingByContentBlocking: true,
blockingByContentBlockingUI: false,
blockingByContentBlockingRTUI: true,
allowList: true,
callback: callbackNonTracking,
extraPrefs: [],
expectedBlockingNotifications: false,
runInPrivateWindow,
iframeSandbox,
});
this._createCleanupTask(cleanupFunction);
this._createTask({
name,
cookieBehavior: BEHAVIOR_REJECT_TRACKER,
blockingByContentBlocking: true,
blockingByContentBlockingUI: true,
blockingByContentBlockingRTUI: false,
allowList: true,
callback: callbackNonTracking,
extraPrefs: [],
@ -142,6 +288,38 @@ this.AntiTracking = {
name,
cookieBehavior: BEHAVIOR_ACCEPT,
blockingByContentBlocking: false,
blockingByContentBlockingUI: true,
blockingByContentBlockingRTUI: true,
allowList: false,
callback: callbackNonTracking,
extraPrefs: [],
expectedBlockingNotifications: false,
runInPrivateWindow,
iframeSandbox,
});
this._createCleanupTask(cleanupFunction);
this._createTask({
name,
cookieBehavior: BEHAVIOR_ACCEPT,
blockingByContentBlocking: true,
blockingByContentBlockingUI: false,
blockingByContentBlockingRTUI: true,
allowList: false,
callback: callbackNonTracking,
extraPrefs: [],
expectedBlockingNotifications: false,
runInPrivateWindow,
iframeSandbox,
});
this._createCleanupTask(cleanupFunction);
this._createTask({
name,
cookieBehavior: BEHAVIOR_ACCEPT,
blockingByContentBlocking: true,
blockingByContentBlockingUI: true,
blockingByContentBlockingRTUI: false,
allowList: false,
callback: callbackNonTracking,
extraPrefs: [],
@ -156,6 +334,8 @@ this.AntiTracking = {
name,
cookieBehavior: BEHAVIOR_REJECT_FOREIGN,
blockingByContentBlocking: true,
blockingByContentBlockingUI: true,
blockingByContentBlockingRTUI: true,
allowList: true,
callback: callbackNonTracking,
extraPrefs: [],
@ -169,6 +349,8 @@ this.AntiTracking = {
name,
cookieBehavior: BEHAVIOR_REJECT_TRACKER,
blockingByContentBlocking: true,
blockingByContentBlockingUI: true,
blockingByContentBlockingRTUI: true,
allowList: true,
callback: callbackNonTracking,
extraPrefs: [],
@ -182,6 +364,8 @@ this.AntiTracking = {
name,
cookieBehavior: options.cookieBehavior,
blockingByContentBlocking: options.blockingByContentBlocking,
blockingByContentBlockingUI: options.blockingByContentBlockingUI,
blockingByContentBlockingRTUI: options.blockingByContentBlockingRTUI,
allowList: options.blockingByAllowList,
callback: callbackNonTracking,
extraPrefs: [],
@ -210,11 +394,15 @@ this.AntiTracking = {
}
},
async _setupTest(win, cookieBehavior, blockingByContentBlocking, extraPrefs) {
async _setupTest(win, cookieBehavior, blockingByContentBlocking,
blockingByContentBlockingUI, blockingByContentBlockingRTUI,
extraPrefs) {
await SpecialPowers.flushPrefEnv();
await SpecialPowers.pushPrefEnv({"set": [
["dom.storage_access.enabled", true],
["browser.contentblocking.enabled", blockingByContentBlocking],
["browser.contentblocking.ui.enabled", blockingByContentBlockingUI],
["browser.contentblocking.rejecttrackers.ui.enabled", blockingByContentBlockingRTUI],
["network.cookie.cookieBehavior", cookieBehavior],
["privacy.trackingprotection.enabled", false],
["privacy.trackingprotection.pbmode.enabled", false],
@ -233,7 +421,9 @@ this.AntiTracking = {
_createTask(options) {
add_task(async function() {
info("Starting " + (options.cookieBehavior != BEHAVIOR_ACCEPT ? "blocking" : "non-blocking") + " cookieBehavior (" + options.cookieBehavior + ") and " +
(options.blockingByContentBlocking ? "blocking" : "non-blocking") + " contentBlocking with" +
(options.blockingByContentBlocking ? "blocking" : "non-blocking") + " contentBlocking and " +
(options.blockingByContentBlockingUI ? "" : "no") + " contentBlocking UI and " +
(options.blockingByContentBlockingRTUI ? "" : "no") + " contentBlocking third-party cookies UI with" +
(options.allowList ? "" : "out") + " allow list test " + options.name +
" running in a " + (options.runInPrivateWindow ? "private" : "normal") + " window " +
" with iframe sandbox set to " + options.iframeSandbox);
@ -246,6 +436,8 @@ this.AntiTracking = {
await AntiTracking._setupTest(win, options.cookieBehavior,
options.blockingByContentBlocking,
options.blockingByContentBlockingUI,
options.blockingByContentBlockingRTUI,
options.extraPrefs);
let cookieBlocked = 0;
@ -355,7 +547,7 @@ this.AntiTracking = {
await TestUtils.topicObserved("browser-delayed-startup-finished");
}
await AntiTracking._setupTest(win, BEHAVIOR_REJECT_TRACKER, true, extraPrefs);
await AntiTracking._setupTest(win, BEHAVIOR_REJECT_TRACKER, true, true, true, extraPrefs);
info("Creating a new tab");
let tab = BrowserTestUtils.addTab(win.gBrowser, TEST_TOP_PAGE);
@ -432,7 +624,7 @@ this.AntiTracking = {
await TestUtils.topicObserved("browser-delayed-startup-finished");
}
await AntiTracking._setupTest(win, BEHAVIOR_REJECT_TRACKER, true, extraPrefs);
await AntiTracking._setupTest(win, BEHAVIOR_REJECT_TRACKER, true, true, true, extraPrefs);
info("Creating a new tab");
let tab = BrowserTestUtils.addTab(win.gBrowser, TEST_TOP_PAGE);

Просмотреть файл

@ -24,6 +24,8 @@ AntiTracking.runTest("Image cache - should load the image twice.",
runExtraTests: false,
cookieBehavior,
blockingByContentBlocking,
blockingByContentBlockingUI,
blockingByContentBlockingRTUI,
blockingByAllowList,
callback: async _ => {
// Let's load the image twice here as well.