forked from mirrors/gecko-dev
This patch makes the tracker category on the protection panel to show the email tracker domains when they are blocked. The tracker category will handle the email tracking content blocking events and show the domains of blocked email trackers on the tracker category subview when email tracking protection is enabled. Differential Revision: https://phabricator.services.mozilla.com/D171714
226 lines
7.5 KiB
JavaScript
226 lines
7.5 KiB
JavaScript
/*
|
|
* Test that the Tracking Protection is correctly enabled / disabled
|
|
* in both normal and private windows given all possible states of the prefs:
|
|
* privacy.trackingprotection.enabled
|
|
* privacy.trackingprotection.pbmode.enabled
|
|
* privacy.trackingprotection.emailtracking.enabled
|
|
* privacy.trackingprotection.emailtracking.pbmode.enabled
|
|
* See also Bug 1178985, Bug 1819662.
|
|
*/
|
|
|
|
const PREF = "privacy.trackingprotection.enabled";
|
|
const PB_PREF = "privacy.trackingprotection.pbmode.enabled";
|
|
const EMAIL_PREF = "privacy.trackingprotection.emailtracking.enabled";
|
|
const EMAIL_PB_PREF = "privacy.trackingprotection.emailtracking.pbmode.enabled";
|
|
|
|
registerCleanupFunction(function() {
|
|
Services.prefs.clearUserPref(PREF);
|
|
Services.prefs.clearUserPref(PB_PREF);
|
|
Services.prefs.clearUserPref(EMAIL_PREF);
|
|
Services.prefs.clearUserPref(EMAIL_PB_PREF);
|
|
});
|
|
|
|
add_task(async function testNormalBrowsing() {
|
|
let {
|
|
TrackingProtection,
|
|
} = gBrowser.ownerGlobal.gProtectionsHandler.blockers;
|
|
ok(
|
|
TrackingProtection,
|
|
"Normal window gProtectionsHandler should have TrackingProtection blocker."
|
|
);
|
|
|
|
Services.prefs.setBoolPref(PREF, true);
|
|
Services.prefs.setBoolPref(PB_PREF, false);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, false);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, false);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=false,EmailEnabled=false,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(PB_PREF, true);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=true,EmailEnabled=false,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, true);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=true,EmailEnabled=true,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, true);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=true,EmailEnabled=true,EmailPB=true)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, false);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=true,EmailEnabled=false,EmailPB=true)"
|
|
);
|
|
Services.prefs.setBoolPref(PB_PREF, false);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=false,EmailEnabled=false,EmailPB=true)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, true);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, false);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=false,EmailEnabled=true,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, true);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=false,EmailEnabled=true,EmailPB=true)"
|
|
);
|
|
|
|
Services.prefs.setBoolPref(PREF, false);
|
|
Services.prefs.setBoolPref(PB_PREF, false);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, false);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, false);
|
|
ok(
|
|
!TrackingProtection.enabled,
|
|
"TP is disabled (ENABLED=false,PB=false,EmailEnabled=false,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(PB_PREF, true);
|
|
ok(
|
|
!TrackingProtection.enabled,
|
|
"TP is disabled (ENABLED=false,PB=true,EmailEnabled=false,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, true);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=false,PB=true,EmailEnabled=true,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, true);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=false,PB=true,EmailEnabled=true,EmailPB=true)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, false);
|
|
ok(
|
|
!TrackingProtection.enabled,
|
|
"TP is disabled (ENABLED=false,PB=true,EmailEnabled=false,EmailPB=true)"
|
|
);
|
|
Services.prefs.setBoolPref(PB_PREF, false);
|
|
ok(
|
|
!TrackingProtection.enabled,
|
|
"TP is disabled (ENABLED=false,PB=false,EmailEnabled=false,EmailPB=true)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, true);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, false);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=false,PB=false,EmailEnabled=true,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, true);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=false,PB=false,EmailEnabled=true,EmailPB=true)"
|
|
);
|
|
});
|
|
|
|
add_task(async function testPrivateBrowsing() {
|
|
let privateWin = await BrowserTestUtils.openNewBrowserWindow({
|
|
private: true,
|
|
});
|
|
let {
|
|
TrackingProtection,
|
|
} = privateWin.gBrowser.ownerGlobal.gProtectionsHandler.blockers;
|
|
ok(
|
|
TrackingProtection,
|
|
"Private window gProtectionsHandler should have TrackingProtection blocker."
|
|
);
|
|
|
|
Services.prefs.setBoolPref(PREF, true);
|
|
Services.prefs.setBoolPref(PB_PREF, false);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, false);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, false);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=false,EmailEnabled=false,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(PB_PREF, true);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=true,EmailEnabled=false,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, true);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=true,EmailEnabled=true,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, true);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=true,EmailEnabled=true,EmailPB=true)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, false);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=true,EmailEnabled=false,EmailPB=true)"
|
|
);
|
|
Services.prefs.setBoolPref(PB_PREF, false);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=false,EmailEnabled=false,EmailPB=true)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, true);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, false);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=false,EmailEnabled=true,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, true);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=true,PB=false,EmailEnabled=true,EmailPB=true)"
|
|
);
|
|
|
|
Services.prefs.setBoolPref(PREF, false);
|
|
Services.prefs.setBoolPref(PB_PREF, false);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, false);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, false);
|
|
ok(
|
|
!TrackingProtection.enabled,
|
|
"TP is disabled (ENABLED=false,PB=false,EmailEnabled=false,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(PB_PREF, true);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=false,PB=true,EmailEnabled=false,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, true);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=false,PB=true,EmailEnabled=true,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, true);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=false,PB=true,EmailEnabled=true,EmailPB=true)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, false);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=false,PB=true,EmailEnabled=false,EmailPB=true)"
|
|
);
|
|
Services.prefs.setBoolPref(PB_PREF, false);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=false,PB=false,EmailEnabled=false,EmailPB=true)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PREF, true);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, false);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=false,PB=false,EmailEnabled=true,EmailPB=false)"
|
|
);
|
|
Services.prefs.setBoolPref(EMAIL_PB_PREF, true);
|
|
ok(
|
|
TrackingProtection.enabled,
|
|
"TP is enabled (ENABLED=false,PB=false,EmailEnabled=true,EmailPB=true)"
|
|
);
|
|
|
|
privateWin.close();
|
|
});
|