Backed out changeset 84d18816918c (bug 1570466) for bc perma failures in browser_protections_report_ui.js on a CLOSED TREE

This commit is contained in:
Oana Pop Rus 2019-10-29 06:22:45 +02:00
Родитель f6e9fb7d0b
Коммит 9df2ccc256
6 изменённых файлов: 71 добавлений и 349 удалений

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

@ -77,7 +77,6 @@ h2 {
align-items: center;
}
#manage-protections,
.card-header > button,
#get-proxy-extension-link,
#open-about-logins-button,
@ -101,7 +100,6 @@ h2 {
}
/* We want to hide certain components depending on its state. */
#manage-protections,
.etp-card .icon.dark,
a.hidden,
.loading .card-body.hidden,
@ -182,19 +180,6 @@ a.hidden,
color: var(--in-content-deemphasized-text);
}
.custom-not-blocking .content {
margin-bottom: 5px;
}
.etp-card.custom-not-blocking .card-body,
.etp-card.custom-not-blocking #protection-details {
display: none;
}
.etp-card.custom-not-blocking #manage-protections {
display: block;
}
#protection-details {
padding-inline-start: 24px;
padding-inline-end: 3px;
@ -685,7 +670,6 @@ label[for="tab-cryptominer"]:hover ~ #highlight-hover {
grid-column: 2 / -1;
}
#manage-protections,
#sign-up-for-monitor-link,
#get-proxy-extension-link {
-moz-appearance: button;
@ -696,19 +680,16 @@ label[for="tab-cryptominer"]:hover ~ #highlight-hover {
color: #fff;
}
#manage-protections:active,
#sign-up-for-monitor-link:active,
#get-proxy-extension-link:active {
background-color: var(--blue-80) !important;
}
#manage-protections:hover,
#sign-up-for-monitor-link:hover,
#get-proxy-extension-link:hover {
background-color: var(--blue-70);
}
##manage-protections:focus,
#sign-up-for-monitor-link:focus,
#get-proxy-extension-link:focus {
box-shadow: 0 0 0 1px #0a84ff inset, 0 0 0 1px #0a84ff, 0 0 0 4px rgba(10, 132, 255, 0.3);

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

@ -30,13 +30,10 @@
<div class="card-header">
<img class="icon light" src="chrome://browser/content/logos/tracking-protection.svg"/>
<img class="icon dark" src="chrome://browser/content/logos/tracking-protection-dark-theme.svg"/>
<div class="wrapper">
<div>
<h2 class="card-title" data-l10n-id="etp-card-title"></h2>
<p id="etp-card-content" class="content" data-l10n-id="etp-card-content"></p>
<p id="protection-details" role="link" tabindex="0"></p>
</div>
<a target="_blank" id="manage-protections" data-l10n-id="protection-report-manage-protections"></a>
<div>
<h2 class="card-title" data-l10n-id="etp-card-title"></h2>
<p class="content" data-l10n-id="etp-card-content"></p>
<p id="protection-details" role="link" tabindex="0"></p>
</div>
</div>
<div class="card-body">

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

@ -29,7 +29,6 @@ document.addEventListener("DOMContentLoaded", e => {
];
let protectionDetails = document.getElementById("protection-details");
let manageProtections = document.getElementById("manage-protections");
let protectionDetailsEvtHandler = evt => {
if (evt.keyCode == evt.DOM_VK_RETURN || evt.type == "click") {
RPMSendAsyncMessage("OpenContentBlockingPreferences");
@ -37,8 +36,6 @@ document.addEventListener("DOMContentLoaded", e => {
};
protectionDetails.addEventListener("click", protectionDetailsEvtHandler);
protectionDetails.addEventListener("keypress", protectionDetailsEvtHandler);
manageProtections.addEventListener("click", protectionDetailsEvtHandler);
manageProtections.addEventListener("keypress", protectionDetailsEvtHandler);
let cbCategory = RPMGetStringPref("browser.contentblocking.category");
if (cbCategory == "custom") {
@ -208,48 +205,9 @@ document.addEventListener("DOMContentLoaded", e => {
});
}
let blockingCookies =
RPMGetIntPref("network.cookie.cookieBehavior", 0) != 0;
let cryptominingEnabled = RPMGetBoolPref(
"privacy.trackingprotection.cryptomining.enabled",
false
);
let fingerprintingEnabled = RPMGetBoolPref(
"privacy.trackingprotection.fingerprinting.enabled",
false
);
let tpEnabled = RPMGetBoolPref("privacy.trackingprotection.enabled", false);
let socialTracking = RPMGetBoolPref(
"privacy.trackingprotection.socialtracking.enabled",
false
);
let socialCookies = RPMGetBoolPref(
"privacy.socialtracking.block_cookies.enabled",
false
);
let socialEnabled =
socialCookies && (blockingCookies || (tpEnabled && socialTracking));
let notBlocking =
!blockingCookies &&
!cryptominingEnabled &&
!fingerprintingEnabled &&
!tpEnabled &&
!socialEnabled;
// User has turned off all blocking, show a different card.
if (notBlocking) {
document
.getElementById("etp-card-content")
.setAttribute(
"data-l10n-id",
"protection-report-etp-card-content-custom-not-blocking"
);
document.querySelector(".etp-card").classList.add("custom-not-blocking");
}
// Hide each type of tab if the user has no recorded
// trackers of that type blocked and blocking of that type is off.
if (weekTypeCounts.tracker == 0 && !tpEnabled) {
// Hide the trackers tab if the user is in standard and
// has no recorded trackers blocked.
if (weekTypeCounts.tracker == 0 && cbCategory == "standard") {
legend.style.gridTemplateAreas = legend.style.gridTemplateAreas.replace(
"tracker",
""
@ -258,6 +216,11 @@ document.addEventListener("DOMContentLoaded", e => {
radio.setAttribute("disabled", true);
document.querySelector("#tab-tracker ~ label").style.display = "none";
}
let socialEnabled = RPMGetBoolPref(
"privacy.socialtracking.block_cookies.enabled",
false
);
if (weekTypeCounts.social == 0 && !socialEnabled) {
legend.style.gridTemplateAreas = legend.style.gridTemplateAreas.replace(
"social",
@ -267,34 +230,6 @@ document.addEventListener("DOMContentLoaded", e => {
radio.setAttribute("disabled", true);
document.querySelector("#tab-social ~ label").style.display = "none";
}
if (weekTypeCounts.cookie == 0 && !blockingCookies) {
legend.style.gridTemplateAreas = legend.style.gridTemplateAreas.replace(
"cookie",
""
);
let radio = document.getElementById("tab-cookie");
radio.setAttribute("disabled", true);
document.querySelector("#tab-cookie ~ label").style.display = "none";
}
if (weekTypeCounts.cryptominer == 0 && !cryptominingEnabled) {
legend.style.gridTemplateAreas = legend.style.gridTemplateAreas.replace(
"cryptominer",
""
);
let radio = document.getElementById("tab-cryptominer");
radio.setAttribute("disabled", true);
document.querySelector("#tab-cryptominer ~ label").style.display = "none";
}
if (weekTypeCounts.fingerprinter == 0 && !fingerprintingEnabled) {
legend.style.gridTemplateAreas = legend.style.gridTemplateAreas.replace(
"fingerprinter",
""
);
let radio = document.getElementById("tab-fingerprinter");
radio.setAttribute("disabled", true);
document.querySelector("#tab-fingerprinter ~ label").style.display =
"none";
}
let firstRadio = document.querySelector("input:not(:disabled)");
firstRadio.checked = true;

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

@ -177,7 +177,7 @@ add_task(async function test_graph_display() {
url: "about:protections",
gBrowser,
});
await SpecialPowers.spawn(tab.linkedBrowser, [], async function() {
await ContentTask.spawn(tab.linkedBrowser, {}, async function() {
const DATA_TYPES = [
"cryptominer",
"fingerprinter",
@ -191,21 +191,21 @@ add_task(async function test_graph_display() {
return allBars.length;
}, "The graph has been built");
Assert.equal(allBars.length, 7, "7 bars have been found on the graph");
is(allBars.length, 7, "7 bars have been found on the graph");
// For accessibility, test if the graph is a table
// and has a correct column count (number of data types + total + day)
Assert.equal(
is(
content.document.getElementById("graph").getAttribute("role"),
"table",
"Graph is an accessible table"
);
Assert.equal(
is(
content.document.getElementById("graph").getAttribute("aria-colcount"),
DATA_TYPES.length + 2,
"Table has the right number of columns"
);
Assert.equal(
is(
content.document.getElementById("graph").getAttribute("aria-labelledby"),
"graphLegendDescription",
"Table has an accessible label"
@ -218,211 +218,204 @@ add_task(async function test_graph_display() {
// 4 days ago will have no trackers
// 5 days ago will have no social (when we add social)
// 6 days ago will be empty
Assert.equal(
is(
allBars[6].querySelectorAll(".inner-bar").length,
DATA_TYPES.length,
"today has all of the data types shown"
);
Assert.equal(
allBars[6].getAttribute("role"),
"row",
"Today has the correct role"
);
Assert.equal(
is(allBars[6].getAttribute("role"), "row", "Today has the correct role");
is(
allBars[6].getAttribute("aria-owns"),
"day0 count0 cryptominer0 fingerprinter0 tracker0 cookie0 social0",
"Row has the columns in the right order"
);
Assert.equal(
is(
allBars[6].querySelector(".tracker-bar").style.height,
"10%",
"trackers take 10%"
);
Assert.equal(
is(
allBars[6].querySelector(".tracker-bar").parentNode.getAttribute("role"),
"cell",
"Trackers have the correct role"
);
Assert.equal(
is(
allBars[6].querySelector(".tracker-bar").getAttribute("role"),
"img",
"Tracker bar has the correct image role"
);
Assert.equal(
is(
allBars[6].querySelector(".tracker-bar").getAttribute("aria-label"),
"1 tracking content (10%)",
"Trackers have the correct accessible text"
);
Assert.equal(
is(
allBars[6].querySelector(".cryptominer-bar").style.height,
"20%",
"cryptominers take 20%"
);
Assert.equal(
is(
allBars[6]
.querySelector(".cryptominer-bar")
.parentNode.getAttribute("role"),
"cell",
"Cryptominers have the correct role"
);
Assert.equal(
is(
allBars[6].querySelector(".cryptominer-bar").getAttribute("role"),
"img",
"Cryptominer bar has the correct image role"
);
Assert.equal(
is(
allBars[6].querySelector(".cryptominer-bar").getAttribute("aria-label"),
"2 cryptominers (20%)",
"Cryptominers have the correct accessible label"
);
Assert.equal(
is(
allBars[6].querySelector(".fingerprinter-bar").style.height,
"20%",
"fingerprinters take 20%"
);
Assert.equal(
is(
allBars[6]
.querySelector(".fingerprinter-bar")
.parentNode.getAttribute("role"),
"cell",
"Fingerprinters have the correct role"
);
Assert.equal(
is(
allBars[6].querySelector(".fingerprinter-bar").getAttribute("role"),
"img",
"Fingerprinter bar has the correct image role"
);
Assert.equal(
is(
allBars[6].querySelector(".fingerprinter-bar").getAttribute("aria-label"),
"2 fingerprinters (20%)",
"Fingerprinters have the correct accessible label"
);
Assert.equal(
is(
allBars[6].querySelector(".cookie-bar").style.height,
"40%",
"cross site tracking cookies take 40%"
);
Assert.equal(
is(
allBars[6].querySelector(".cookie-bar").parentNode.getAttribute("role"),
"cell",
"cross site tracking cookies have the correct role"
);
Assert.equal(
is(
allBars[6].querySelector(".cookie-bar").getAttribute("role"),
"img",
"Cross site tracking cookies bar has the correct image role"
);
Assert.equal(
is(
allBars[6].querySelector(".cookie-bar").getAttribute("aria-label"),
"4 cross-site tracking cookies (40%)",
"cross site tracking cookies have the correct accessible label"
);
Assert.equal(
is(
allBars[6].querySelector(".social-bar").style.height,
"10%",
"social trackers take 10%"
);
Assert.equal(
is(
allBars[6].querySelector(".social-bar").parentNode.getAttribute("role"),
"cell",
"social trackers have the correct role"
);
Assert.equal(
is(
allBars[6].querySelector(".social-bar").getAttribute("role"),
"img",
"social tracker bar has the correct image role"
);
Assert.equal(
is(
allBars[6].querySelector(".social-bar").getAttribute("aria-label"),
"1 social media tracker (10%)",
"social trackers have the correct accessible text"
);
Assert.equal(
is(
allBars[5].querySelectorAll(".inner-bar").length,
DATA_TYPES.length - 1,
"1 day ago is missing one type"
);
Assert.ok(
ok(
!allBars[5].querySelector(".cookie-bar"),
"there is no cross site tracking cookie section 1 day ago."
);
Assert.equal(
is(
allBars[5].getAttribute("aria-owns"),
"day1 count1 cryptominer1 fingerprinter1 tracker1 social1",
"Row has the columns in the right order"
);
Assert.equal(
is(
allBars[4].querySelectorAll(".inner-bar").length,
DATA_TYPES.length - 1,
"2 days ago is missing one type"
);
Assert.ok(
ok(
!allBars[4].querySelector(".fingerprinter-bar"),
"there is no fingerprinter section 1 day ago."
);
Assert.equal(
is(
allBars[4].getAttribute("aria-owns"),
"day2 count2 cryptominer2 tracker2 cookie2 social2",
"Row has the columns in the right order"
);
Assert.equal(
is(
allBars[3].querySelectorAll(".inner-bar").length,
DATA_TYPES.length - 1,
"3 days ago is missing one type"
);
Assert.ok(
ok(
!allBars[3].querySelector(".cryptominer-bar"),
"there is no cryptominer section 1 day ago."
);
Assert.equal(
is(
allBars[3].getAttribute("aria-owns"),
"day3 count3 fingerprinter3 tracker3 cookie3 social3",
"Row has the columns in the right order"
);
Assert.equal(
is(
allBars[2].querySelectorAll(".inner-bar").length,
DATA_TYPES.length - 1,
"4 days ago is missing one type"
);
Assert.ok(
ok(
!allBars[2].querySelector(".tracker-bar"),
"there is no tracker section 1 day ago."
);
Assert.equal(
is(
allBars[2].getAttribute("aria-owns"),
"day4 count4 cryptominer4 fingerprinter4 cookie4 social4",
"Row has the columns in the right order"
);
Assert.equal(
is(
allBars[1].querySelectorAll(".inner-bar").length,
DATA_TYPES.length - 1,
"5 days ago is missing one type"
);
Assert.ok(
ok(
!allBars[1].querySelector(".social-bar"),
"there is no social section 1 day ago."
);
Assert.equal(
is(
allBars[1].getAttribute("aria-owns"),
"day5 count5 cryptominer5 fingerprinter5 tracker5 cookie5",
"Row has the columns in the right order"
);
Assert.equal(
is(
allBars[0].querySelectorAll(".inner-bar").length,
0,
"6 days ago has no content"
);
Assert.ok(
allBars[0].classList.contains("empty"),
"6 days ago is an empty bar"
);
Assert.equal(
ok(allBars[0].classList.contains("empty"), "6 days ago is an empty bar");
is(
allBars[0].getAttribute("aria-owns"),
"day6 ",
"Row has the columns in the right order"
@ -432,36 +425,36 @@ add_task(async function test_graph_display() {
// values. This helps screen readers know what type of tracker the reported
// tab number is referencing.
const socialTab = content.document.getElementById("tab-social");
Assert.equal(
is(
socialTab.getAttribute("aria-labelledby"),
"socialLabel socialTitle",
"aria-labelledby attribute is socialLabel socialTitle"
);
Assert.equal(
is(
socialTab.getAttribute("aria-describedby"),
"socialContent",
"aria-describedby attribute is socialContent"
);
const cookieTab = content.document.getElementById("tab-cookie");
Assert.equal(
is(
cookieTab.getAttribute("aria-labelledby"),
"cookieLabel cookieTitle",
"aria-labelledby attribute is cookieLabel cookieTitle"
);
Assert.equal(
is(
cookieTab.getAttribute("aria-describedby"),
"cookieContent",
"aria-describedby attribute is cookieContent"
);
const trackerTab = content.document.getElementById("tab-tracker");
Assert.equal(
is(
trackerTab.getAttribute("aria-labelledby"),
"trackerLabel trackerTitle",
"aria-labelledby attribute is trackerLabel trackerTitle"
);
Assert.equal(
is(
trackerTab.getAttribute("aria-describedby"),
"trackerContent",
"aria-describedby attribute is trackerContent"
@ -470,24 +463,24 @@ add_task(async function test_graph_display() {
const fingerprinterTab = content.document.getElementById(
"tab-fingerprinter"
);
Assert.equal(
is(
fingerprinterTab.getAttribute("aria-labelledby"),
"fingerprinterLabel fingerprinterTitle",
"aria-labelledby attribute is fingerprinterLabel fingerprinterTitle"
);
Assert.equal(
is(
fingerprinterTab.getAttribute("aria-describedby"),
"fingerprinterContent",
"aria-describedby attribute is fingerprinterContent"
);
const cryptominerTab = content.document.getElementById("tab-cryptominer");
Assert.equal(
is(
cryptominerTab.getAttribute("aria-labelledby"),
"cryptominerLabel cryptominerTitle",
"aria-labelledby attribute is cryptominerLabel cryptominerTitle"
);
Assert.equal(
is(
cryptominerTab.getAttribute("aria-describedby"),
"cryptominerContent",
"aria-describedby attribute is cryptominerContent"
@ -511,7 +504,7 @@ add_task(async function test_etp_header_string() {
url: "about:protections",
gBrowser,
});
await SpecialPowers.spawn(tab.linkedBrowser, [], async function() {
await ContentTask.spawn(tab.linkedBrowser, {}, async function() {
await ContentTaskUtils.waitForCondition(() => {
let l10nID = content.document
.querySelector("#protection-details")
@ -522,7 +515,7 @@ add_task(async function test_etp_header_string() {
Services.prefs.setStringPref("browser.contentblocking.category", "strict");
await reloadTab(tab);
await SpecialPowers.spawn(tab.linkedBrowser, [], async function() {
await ContentTask.spawn(tab.linkedBrowser, {}, async function() {
await ContentTaskUtils.waitForCondition(() => {
let l10nID = content.document
.querySelector("#protection-details")
@ -533,7 +526,7 @@ add_task(async function test_etp_header_string() {
Services.prefs.setStringPref("browser.contentblocking.category", "custom");
await reloadTab(tab);
await SpecialPowers.spawn(tab.linkedBrowser, [], async function() {
await ContentTask.spawn(tab.linkedBrowser, {}, async function() {
await ContentTaskUtils.waitForCondition(() => {
let l10nID = content.document
.querySelector("#protection-details")
@ -545,180 +538,3 @@ add_task(async function test_etp_header_string() {
Services.prefs.setStringPref("browser.contentblocking.category", "standard");
BrowserTestUtils.removeTab(tab);
});
// Ensure that each type of tracker is hidden from the graph if there are no recorded
// trackers of that type and the user has chosen to not block that type.
add_task(async function test_etp_custom_settings() {
Services.prefs.setStringPref("browser.contentblocking.category", "strict");
// hide cookies from the graph
Services.prefs.setIntPref("network.cookie.cookieBehavior", 0);
let tab = await BrowserTestUtils.openNewForegroundTab({
url: "about:protections",
gBrowser,
});
await SpecialPowers.spawn(tab.linkedBrowser, [], async function() {
await ContentTaskUtils.waitForCondition(() => {
let legend = content.document.getElementById("legend");
return ContentTaskUtils.is_visible(legend);
}, "The legend is visible");
let label = content.document.getElementById("cookieLabel");
Assert.ok(ContentTaskUtils.is_hidden(label), "Cookie Label is hidden");
label = content.document.getElementById("trackerLabel");
Assert.ok(ContentTaskUtils.is_visible(label), "Tracker Label is visible");
label = content.document.getElementById("socialLabel");
Assert.ok(ContentTaskUtils.is_visible(label), "Social Label is visible");
label = content.document.getElementById("cryptominerLabel");
Assert.ok(
ContentTaskUtils.is_visible(label),
"Cryptominer Label is visible"
);
label = content.document.getElementById("fingerprinterLabel");
Assert.ok(
ContentTaskUtils.is_visible(label),
"Fingerprinter Label is visible"
);
});
BrowserTestUtils.removeTab(tab);
// hide ad trackers from the graph
Services.prefs.setBoolPref("privacy.trackingprotection.enabled", false);
tab = await BrowserTestUtils.openNewForegroundTab({
url: "about:protections",
gBrowser,
});
await SpecialPowers.spawn(tab.linkedBrowser, [], async function() {
await ContentTaskUtils.waitForCondition(() => {
let legend = content.document.getElementById("legend");
return ContentTaskUtils.is_visible(legend);
}, "The legend is visible");
let label = content.document.querySelector("#trackerLabel");
Assert.ok(ContentTaskUtils.is_hidden(label), "Tracker Label is hidden");
label = content.document.querySelector("#socialLabel");
Assert.ok(ContentTaskUtils.is_hidden(label), "Social Label is hidden");
});
BrowserTestUtils.removeTab(tab);
// hide social from the graph
Services.prefs.setBoolPref(
"privacy.trackingprotection.socialtracking.enabled",
false
);
Services.prefs.setBoolPref(
"privacy.socialtracking.block_cookies.enabled",
false
);
tab = await BrowserTestUtils.openNewForegroundTab({
url: "about:protections",
gBrowser,
});
await SpecialPowers.spawn(tab.linkedBrowser, [], async function() {
await ContentTaskUtils.waitForCondition(() => {
let legend = content.document.getElementById("legend");
return ContentTaskUtils.is_visible(legend);
}, "The legend is visible");
let label = content.document.querySelector("#socialLabel");
Assert.ok(ContentTaskUtils.is_hidden(label), "Social Label is hidden");
});
BrowserTestUtils.removeTab(tab);
// hide fingerprinting from the graph
Services.prefs.setBoolPref(
"privacy.trackingprotection.fingerprinting.enabled",
false
);
tab = await BrowserTestUtils.openNewForegroundTab({
url: "about:protections",
gBrowser,
});
await SpecialPowers.spawn(tab.linkedBrowser, [], async function() {
await ContentTaskUtils.waitForCondition(() => {
let legend = content.document.getElementById("legend");
return ContentTaskUtils.is_visible(legend);
}, "The legend is visible");
let label = content.document.querySelector("#fingerprinterLabel");
Assert.ok(
ContentTaskUtils.is_hidden(label),
"Fingerprinter Label is hidden"
);
});
BrowserTestUtils.removeTab(tab);
// hide cryptomining from the graph
Services.prefs.setBoolPref(
"privacy.trackingprotection.cryptomining.enabled",
false
);
// Turn fingerprinting on so that all protectionsare not turned off, otherwise we will get a special card.
Services.prefs.setBoolPref(
"privacy.trackingprotection.fingerprinting.enabled",
true
);
tab = await BrowserTestUtils.openNewForegroundTab({
url: "about:protections",
gBrowser,
});
await SpecialPowers.spawn(tab.linkedBrowser, [], async function() {
await ContentTaskUtils.waitForCondition(() => {
let legend = content.document.getElementById("legend");
return ContentTaskUtils.is_visible(legend);
}, "The legend is visible");
let label = content.document.querySelector("#cryptominerLabel");
Assert.ok(ContentTaskUtils.is_hidden(label), "Cryptominer Label is hidden");
});
Services.prefs.clearUserPref("browser.contentblocking.category");
Services.prefs.clearUserPref(
"privacy.trackingprotection.fingerprinting.enabled"
);
Services.prefs.clearUserPref(
"privacy.trackingprotection.cryptomining.enabled"
);
Services.prefs.clearUserPref("privacy.trackingprotection.enabled");
Services.prefs.clearUserPref("network.cookie.cookieBehavior");
BrowserTestUtils.removeTab(tab);
});
// Ensure that the Custom manage Protections card is shown if the user has all protections turned off.
add_task(async function test_etp_custom_protections_off() {
await SpecialPowers.pushPrefEnv({
set: [
["browser.contentblocking.category", "custom"],
["network.cookie.cookieBehavior", 0], // not blocking
["privacy.trackingprotection.cryptomining.enabled", false], // not blocking
["privacy.trackingprotection.fingerprinting.enabled", false],
["privacy.trackingprotection.enabled", false],
["privacy.trackingprotection.socialtracking.enabled", false],
["privacy.socialtracking.block_cookies.enabled", false],
],
});
let tab = await BrowserTestUtils.openNewForegroundTab({
url: "about:protections",
gBrowser,
});
await SpecialPowers.spawn(tab.linkedBrowser, [], async function() {
await ContentTaskUtils.waitForCondition(() => {
let etpCard = content.document.querySelector(".etp-card");
return etpCard.classList.contains("custom-not-blocking");
}, "The custom protections warning card is showing");
let manageProtectionsCard = content.document.querySelector(
"#manage-protections"
);
Assert.ok(
ContentTaskUtils.is_visible(manageProtectionsCard),
"Button to manage protections is displayed"
);
});
Services.prefs.setStringPref("browser.contentblocking.category", "standard");
BrowserTestUtils.removeTab(tab);
});

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

@ -34,8 +34,6 @@ protection-report-content-title = Privacy Protections
etp-card-title = Enhanced Tracking Protection
etp-card-content = Trackers follow you around online to collect information about your browsing habits and interests. { -brand-short-name } blocks many of these trackers and other malicious scripts.
protection-report-etp-card-content-custom-not-blocking = All protections are currently turned off. Choose which trackers to block by managing your { -brand-short-name } protections settings.
protection-report-manage-protections = Manage Settings
# This string is used to label the X axis of a graph. Other days of the week are generated via Intl.DateTimeFormat,
# capitalization for this string should match the output for your locale.

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

@ -77,10 +77,6 @@ let RPMAccessManager = {
"browser.contentblocking.report.monitor.enabled",
"privacy.socialtracking.block_cookies.enabled",
"browser.contentblocking.report.proxy.enabled",
"privacy.trackingprotection.cryptomining.enabled",
"privacy.trackingprotection.fingerprinting.enabled",
"privacy.trackingprotection.enabled",
"privacy.trackingprotection.socialtracking.enabled",
],
getStringPref: [
"browser.contentblocking.category",
@ -90,7 +86,6 @@ let RPMAccessManager = {
"browser.contentblocking.report.manage_devices.url",
"browser.contentblocking.report.proxy_extension.url",
],
getIntPref: ["network.cookie.cookieBehavior"],
getFormatURLPref: [
"browser.contentblocking.report.monitor.how_it_works.url",
"browser.contentblocking.report.lockwise.how_it_works.url",