forked from mirrors/gecko-dev
This commit also moves the remaining trackingUI_* tests out of b/b/c/test/general, since I needed to touch them anyway Differential Revision: https://phabricator.services.mozilla.com/D2935 --HG-- rename : browser/base/content/test/general/benignPage.html => browser/base/content/test/trackingUI/benignPage.html rename : browser/base/content/test/general/browser_trackingUI_3.js => browser/base/content/test/trackingUI/browser_trackingUI_3.js rename : browser/base/content/test/general/browser_trackingUI_4.js => browser/base/content/test/trackingUI/browser_trackingUI_animation_2.js rename : browser/base/content/test/general/browser_trackingUI_6.js => browser/base/content/test/trackingUI/browser_trackingUI_fetch.js rename : browser/base/content/test/general/browser_trackingUI_5.js => browser/base/content/test/trackingUI/browser_trackingUI_pbmode_exceptions.js rename : browser/base/content/test/general/browser_trackingUI_telemetry.js => browser/base/content/test/trackingUI/browser_trackingUI_telemetry.js rename : browser/base/content/test/general/file_trackingUI_6.html => browser/base/content/test/trackingUI/file_trackingUI_fetch.html rename : browser/base/content/test/general/file_trackingUI_6.js => browser/base/content/test/trackingUI/file_trackingUI_fetch.js rename : browser/base/content/test/general/file_trackingUI_6.js^headers^ => browser/base/content/test/trackingUI/file_trackingUI_fetch.js^headers^ rename : browser/base/content/test/general/trackingPage.html => browser/base/content/test/trackingUI/trackingPage.html extra : rebase_source : 2a12463ab2ba39bdcf077580a2d6e565f80c879c
78 lines
2.9 KiB
JavaScript
78 lines
2.9 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
const CB_PREF = "browser.contentblocking.enabled";
|
|
const CB_UI_PREF = "browser.contentblocking.ui.enabled";
|
|
const TP_PREF = "privacy.trackingprotection.enabled";
|
|
const FB_PREF = "browser.fastblock.enabled";
|
|
const TRACKING_PAGE = "http://tracking.example.org/browser/browser/base/content/test/trackingUI/trackingPage.html";
|
|
|
|
async function waitAndAssertPreferencesShown() {
|
|
await BrowserTestUtils.waitForEvent(gIdentityHandler._identityPopup, "popuphidden");
|
|
await TestUtils.waitForCondition(() => gBrowser.currentURI.spec == "about:preferences#privacy",
|
|
"Should open about:preferences.");
|
|
|
|
await ContentTask.spawn(gBrowser.selectedBrowser, {}, async function() {
|
|
let doc = content.document;
|
|
let section = await ContentTaskUtils.waitForCondition(
|
|
() => doc.querySelector(".spotlight"), "The spotlight should appear.");
|
|
is(section.getAttribute("data-subcategory"), "trackingprotection",
|
|
"The trackingprotection section is spotlighted.");
|
|
});
|
|
|
|
BrowserTestUtils.removeTab(gBrowser.selectedTab);
|
|
}
|
|
|
|
add_task(async function setup() {
|
|
await UrlClassifierTestUtils.addTestTrackers();
|
|
});
|
|
|
|
// Tests that pressing the preferences icon in the identity popup
|
|
// links to about:preferences
|
|
add_task(async function testOpenPreferencesFromPrefsButton() {
|
|
await BrowserTestUtils.withNewTab("https://example.com", async function() {
|
|
let promisePanelOpen = BrowserTestUtils.waitForEvent(gIdentityHandler._identityPopup, "popupshown");
|
|
gIdentityHandler._identityBox.click();
|
|
await promisePanelOpen;
|
|
|
|
let preferencesButton = document.getElementById("tracking-protection-preferences-button");
|
|
|
|
ok(!BrowserTestUtils.is_hidden(preferencesButton), "The enable tracking protection button is shown.");
|
|
|
|
let shown = waitAndAssertPreferencesShown();
|
|
preferencesButton.click();
|
|
await shown;
|
|
});
|
|
});
|
|
|
|
// Tests that clicking the contentblocking category items "add blocking" labels
|
|
// links to about:preferences
|
|
add_task(async function testOpenPreferencesFromAddBlockingButtons() {
|
|
SpecialPowers.pushPrefEnv({set: [
|
|
[CB_PREF, true],
|
|
[CB_UI_PREF, true],
|
|
[FB_PREF, false],
|
|
[TP_PREF, false],
|
|
]});
|
|
|
|
await BrowserTestUtils.withNewTab(TRACKING_PAGE, async function() {
|
|
let addBlockingButtons = document.querySelectorAll(".identity-popup-content-blocking-category-add-blocking");
|
|
for (let button of addBlockingButtons) {
|
|
let promisePanelOpen = BrowserTestUtils.waitForEvent(gIdentityHandler._identityPopup, "popupshown");
|
|
gIdentityHandler._identityBox.click();
|
|
await promisePanelOpen;
|
|
|
|
ok(BrowserTestUtils.is_visible(button), "Button is shown.");
|
|
let shown = waitAndAssertPreferencesShown();
|
|
button.click();
|
|
await shown;
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
add_task(async function cleanup() {
|
|
UrlClassifierTestUtils.cleanupTestTrackers();
|
|
});
|