Backed out 3 changesets (bug 1830623) for mochitest failures on test_navigator.html . CLOSED TREE
Backed out changeset e62ba02af50f (bug 1830623) Backed out changeset 2667feba3922 (bug 1830623) Backed out changeset 320a740f003c (bug 1830623)
This commit is contained in:
@@ -1014,11 +1014,6 @@ pref("privacy.temporary_permission_expire_time_ms", 3600000);
|
|||||||
// See bug 791594
|
// See bug 791594
|
||||||
pref("privacy.authPromptSpoofingProtection", true);
|
pref("privacy.authPromptSpoofingProtection", true);
|
||||||
|
|
||||||
// Enable GPC if the user turns it on in about:preferences
|
|
||||||
#ifdef NIGHTLY_BUILD
|
|
||||||
pref("privacy.globalprivacycontrol.functionality.enabled", true);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
pref("network.proxy.share_proxy_settings", false); // use the same proxy settings for all protocols
|
pref("network.proxy.share_proxy_settings", false); // use the same proxy settings for all protocols
|
||||||
|
|
||||||
// simple gestures support
|
// simple gestures support
|
||||||
@@ -1526,7 +1521,6 @@ pref("services.sync.prefs.sync.privacy.clearOnShutdown.offlineApps", true);
|
|||||||
pref("services.sync.prefs.sync.privacy.clearOnShutdown.sessions", true);
|
pref("services.sync.prefs.sync.privacy.clearOnShutdown.sessions", true);
|
||||||
pref("services.sync.prefs.sync.privacy.clearOnShutdown.siteSettings", true);
|
pref("services.sync.prefs.sync.privacy.clearOnShutdown.siteSettings", true);
|
||||||
pref("services.sync.prefs.sync.privacy.donottrackheader.enabled", true);
|
pref("services.sync.prefs.sync.privacy.donottrackheader.enabled", true);
|
||||||
pref("services.sync.prefs.sync.privacy.globalprivacycontrol.enabled", true);
|
|
||||||
pref("services.sync.prefs.sync.privacy.sanitize.sanitizeOnShutdown", true);
|
pref("services.sync.prefs.sync.privacy.sanitize.sanitizeOnShutdown", true);
|
||||||
pref("services.sync.prefs.sync.privacy.trackingprotection.enabled", true);
|
pref("services.sync.prefs.sync.privacy.trackingprotection.enabled", true);
|
||||||
pref("services.sync.prefs.sync.privacy.trackingprotection.cryptomining.enabled", true);
|
pref("services.sync.prefs.sync.privacy.trackingprotection.cryptomining.enabled", true);
|
||||||
|
|||||||
@@ -328,38 +328,19 @@
|
|||||||
</vbox>
|
</vbox>
|
||||||
</radiogroup>
|
</radiogroup>
|
||||||
</vbox>
|
</vbox>
|
||||||
<vbox id="nonTechnicalPrivacyBox">
|
<vbox id="doNotTrackLearnMoreBox">
|
||||||
<hbox id="globalPrivacyControlBox" flex="1" align="center" hidden="true">
|
<label>
|
||||||
<checkbox id="globalPrivacyControlCheckbox"
|
<label class="tail-with-learn-more" data-l10n-id="do-not-track-description" id="doNotTrackDesc"></label>
|
||||||
class="tail-with-learn-more"
|
<html:a is="moz-support-link"
|
||||||
preference="privacy.globalprivacycontrol.enabled"
|
class="learnMore"
|
||||||
data-l10n-id="global-privacy-control-description" />
|
data-l10n-id="do-not-track-learn-more"
|
||||||
<html:a is="moz-support-link"
|
support-page="how-do-i-turn-do-not-track-feature"
|
||||||
id="globalPrivacyControlLearnMoreLink"
|
/>
|
||||||
support-page="global-privacy-control" />
|
</label>
|
||||||
</hbox>
|
<radiogroup id="doNotTrackRadioGroup" aria-labelledby="doNotTrackDesc" preference="privacy.donottrackheader.enabled">
|
||||||
<vbox id="legacyDoNotTrackBox">
|
<radio value="true" data-l10n-id="do-not-track-option-always"/>
|
||||||
<label>
|
<radio value="false" data-l10n-id="do-not-track-option-default-content-blocking-known"/>
|
||||||
<label class="tail-with-learn-more" data-l10n-id="do-not-track-description" id="doNotTrackDesc"></label>
|
</radiogroup>
|
||||||
<html:a is="moz-support-link"
|
|
||||||
class="learnMore"
|
|
||||||
support-page="how-do-i-turn-do-not-track-feature"
|
|
||||||
/>
|
|
||||||
</label>
|
|
||||||
<radiogroup id="doNotTrackRadioGroup" aria-labelledby="doNotTrackDesc" preference="privacy.donottrackheader.enabled">
|
|
||||||
<radio value="true" data-l10n-id="do-not-track-option-always"/>
|
|
||||||
<radio value="false" data-l10n-id="do-not-track-option-default-content-blocking-known"/>
|
|
||||||
</radiogroup>
|
|
||||||
</vbox>
|
|
||||||
<hbox id="doNotTrackBox" flex="1" align="center">
|
|
||||||
<checkbox id="doNotTrackCheckbox"
|
|
||||||
class="tail-with-learn-more"
|
|
||||||
preference="privacy.donottrackheader.enabled"
|
|
||||||
data-l10n-id="do-not-track-description2" />
|
|
||||||
<html:a is="moz-support-link"
|
|
||||||
id="doNotTrackLearnMoreLink"
|
|
||||||
support-page="how-do-i-turn-do-not-track-feature" />
|
|
||||||
</hbox>
|
|
||||||
</vbox>
|
</vbox>
|
||||||
</vbox>
|
</vbox>
|
||||||
</groupbox>
|
</groupbox>
|
||||||
|
|||||||
@@ -148,9 +148,6 @@ Preferences.addAll([
|
|||||||
// Do not track
|
// Do not track
|
||||||
{ id: "privacy.donottrackheader.enabled", type: "bool" },
|
{ id: "privacy.donottrackheader.enabled", type: "bool" },
|
||||||
|
|
||||||
// Global Privacy Control
|
|
||||||
{ id: "privacy.globalprivacycontrol.enabled", type: "bool" },
|
|
||||||
|
|
||||||
// Media
|
// Media
|
||||||
{ id: "media.autoplay.default", type: "int" },
|
{ id: "media.autoplay.default", type: "int" },
|
||||||
|
|
||||||
@@ -995,7 +992,6 @@ var gPrivacyPane = {
|
|||||||
|
|
||||||
this._pane = document.getElementById("panePrivacy");
|
this._pane = document.getElementById("panePrivacy");
|
||||||
|
|
||||||
this._initGlobalPrivacyControlUI();
|
|
||||||
this._initPasswordGenerationUI();
|
this._initPasswordGenerationUI();
|
||||||
this._initRelayIntegrationUI();
|
this._initRelayIntegrationUI();
|
||||||
this._initMasterPasswordUI();
|
this._initMasterPasswordUI();
|
||||||
@@ -2888,22 +2884,6 @@ var gPrivacyPane = {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
|
||||||
* Set up the initial state for the GPC/DNT UI.
|
|
||||||
* The GPC part should only appear if the functionality is
|
|
||||||
* enabled.
|
|
||||||
*/
|
|
||||||
_initGlobalPrivacyControlUI() {
|
|
||||||
let gpcEnabledPrefValue = Services.prefs.getBoolPref(
|
|
||||||
"privacy.globalprivacycontrol.functionality.enabled",
|
|
||||||
false
|
|
||||||
);
|
|
||||||
document.getElementById("globalPrivacyControlBox").hidden =
|
|
||||||
!gpcEnabledPrefValue;
|
|
||||||
document.getElementById("doNotTrackBox").hidden = !gpcEnabledPrefValue;
|
|
||||||
document.getElementById("legacyDoNotTrackBox").hidden = gpcEnabledPrefValue;
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set up the initial state for the password generation UI.
|
* Set up the initial state for the password generation UI.
|
||||||
* It will be hidden unless the .available pref is true
|
* It will be hidden unless the .available pref is true
|
||||||
|
|||||||
@@ -98,7 +98,6 @@ skip-if = true
|
|||||||
[browser_privacy_cookieBannerHandling.js]
|
[browser_privacy_cookieBannerHandling.js]
|
||||||
[browser_privacy_dnsoverhttps.js]
|
[browser_privacy_dnsoverhttps.js]
|
||||||
[browser_privacy_firefoxSuggest.js]
|
[browser_privacy_firefoxSuggest.js]
|
||||||
[browser_privacy_gpc.js]
|
|
||||||
[browser_privacy_passwordGenerationAndAutofill.js]
|
[browser_privacy_passwordGenerationAndAutofill.js]
|
||||||
[browser_privacy_quickactions.js]
|
[browser_privacy_quickactions.js]
|
||||||
[browser_privacy_relayIntegration.js]
|
[browser_privacy_relayIntegration.js]
|
||||||
|
|||||||
@@ -1,182 +0,0 @@
|
|||||||
/* Any copyright is dedicated to the Public Domain.
|
|
||||||
* https://creativecommons.org/publicdomain/zero/1.0/ */
|
|
||||||
|
|
||||||
// This file tests the Privacy pane's Cookie Banner Handling UI.
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
const FEATURE_PREF = "privacy.globalprivacycontrol.functionality.enabled";
|
|
||||||
const MODE_PREF = "privacy.globalprivacycontrol.enabled";
|
|
||||||
const DNT_PREF = "privacy.donottrackheader.enabled";
|
|
||||||
|
|
||||||
const SECTION_ID = "nonTechnicalPrivacyBox";
|
|
||||||
const GPC_ID = "globalPrivacyControlBox";
|
|
||||||
const GPC_CHECKBOX_ID = "globalPrivacyControlCheckbox";
|
|
||||||
const OLD_DNT_ID = "legacyDoNotTrackBox";
|
|
||||||
const NEW_DNT_ID = "doNotTrackBox";
|
|
||||||
const DNT_CHECKBOX_ID = "doNotTrackCheckbox";
|
|
||||||
|
|
||||||
// Test the section is hidden on page load if the feature pref is disabled.
|
|
||||||
// Also make sure we keep the old DNT interface.
|
|
||||||
add_task(async function test_section_hidden_when_feature_flag_disabled() {
|
|
||||||
await SpecialPowers.pushPrefEnv({
|
|
||||||
set: [
|
|
||||||
[FEATURE_PREF, false],
|
|
||||||
[MODE_PREF, false],
|
|
||||||
],
|
|
||||||
});
|
|
||||||
|
|
||||||
await BrowserTestUtils.withNewTab(
|
|
||||||
{ gBrowser, url: "about:preferences#privacy" },
|
|
||||||
async function (browser) {
|
|
||||||
let gpc = browser.contentDocument.getElementById(GPC_ID);
|
|
||||||
is_element_hidden(gpc, "#globalPrivacyControlBox is hidden");
|
|
||||||
let new_dnt = browser.contentDocument.getElementById(NEW_DNT_ID);
|
|
||||||
is_element_hidden(new_dnt, "#doNotTrackBox is hidden");
|
|
||||||
let old_dnt = browser.contentDocument.getElementById(OLD_DNT_ID);
|
|
||||||
is_element_visible(old_dnt, "#doNotTrackBox is shown");
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
await SpecialPowers.popPrefEnv();
|
|
||||||
});
|
|
||||||
|
|
||||||
// Test the section is shown on page load if the feature pref is enabled.
|
|
||||||
// Also make sure we show the new DNT interface.
|
|
||||||
add_task(async function test_section_shown_when_feature_flag_enabled() {
|
|
||||||
await SpecialPowers.pushPrefEnv({
|
|
||||||
set: [
|
|
||||||
[FEATURE_PREF, true],
|
|
||||||
[MODE_PREF, false],
|
|
||||||
],
|
|
||||||
});
|
|
||||||
|
|
||||||
await BrowserTestUtils.withNewTab(
|
|
||||||
{ gBrowser, url: "about:preferences#privacy" },
|
|
||||||
async function (browser) {
|
|
||||||
let gpc = browser.contentDocument.getElementById(GPC_ID);
|
|
||||||
is_element_visible(gpc, "#globalPrivacyControlBox is shown");
|
|
||||||
let new_dnt = browser.contentDocument.getElementById(NEW_DNT_ID);
|
|
||||||
is_element_visible(new_dnt, "#doNotTrackBox is shown");
|
|
||||||
let old_dnt = browser.contentDocument.getElementById(OLD_DNT_ID);
|
|
||||||
is_element_hidden(old_dnt, "#doNotTrackBox is hidden");
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
await SpecialPowers.popPrefEnv();
|
|
||||||
});
|
|
||||||
|
|
||||||
// Test the checkbox is unchecked in DISABLED mode.
|
|
||||||
add_task(async function test_checkbox_unchecked_disabled_mode() {
|
|
||||||
await SpecialPowers.pushPrefEnv({
|
|
||||||
set: [
|
|
||||||
[FEATURE_PREF, true],
|
|
||||||
[MODE_PREF, false],
|
|
||||||
],
|
|
||||||
});
|
|
||||||
|
|
||||||
await BrowserTestUtils.withNewTab(
|
|
||||||
{ gBrowser, url: "about:preferences#privacy" },
|
|
||||||
async function (browser) {
|
|
||||||
let checkbox = browser.contentDocument.getElementById(GPC_CHECKBOX_ID);
|
|
||||||
ok(!checkbox.checked, "checkbox is not checked in DISABLED mode");
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
await SpecialPowers.popPrefEnv();
|
|
||||||
});
|
|
||||||
|
|
||||||
// Test that toggling the checkbox toggles the mode pref value as expected
|
|
||||||
add_task(async function test_checkbox_modifies_prefs() {
|
|
||||||
await SpecialPowers.pushPrefEnv({
|
|
||||||
set: [
|
|
||||||
[FEATURE_PREF, true],
|
|
||||||
[MODE_PREF, false],
|
|
||||||
],
|
|
||||||
});
|
|
||||||
|
|
||||||
await BrowserTestUtils.withNewTab(
|
|
||||||
{ gBrowser, url: "about:preferences#privacy" },
|
|
||||||
async function (browser) {
|
|
||||||
let gpc_checkbox =
|
|
||||||
browser.contentDocument.getElementById(GPC_CHECKBOX_ID);
|
|
||||||
let dnt_checkbox =
|
|
||||||
browser.contentDocument.getElementById(DNT_CHECKBOX_ID);
|
|
||||||
let section = browser.contentDocument.getElementById(SECTION_ID);
|
|
||||||
|
|
||||||
section.scrollIntoView();
|
|
||||||
|
|
||||||
Assert.ok(
|
|
||||||
!gpc_checkbox.checked && !dnt_checkbox.checked,
|
|
||||||
"initially, the checkbox should be unchecked"
|
|
||||||
);
|
|
||||||
|
|
||||||
await BrowserTestUtils.synthesizeMouseAtCenter(
|
|
||||||
"#" + GPC_CHECKBOX_ID,
|
|
||||||
{},
|
|
||||||
browser
|
|
||||||
);
|
|
||||||
Assert.ok(
|
|
||||||
gpc_checkbox.checked && !dnt_checkbox.checked,
|
|
||||||
"gpc checkbox should be checked"
|
|
||||||
);
|
|
||||||
Assert.equal(
|
|
||||||
true,
|
|
||||||
Services.prefs.getBoolPref(MODE_PREF),
|
|
||||||
"GPC should be on after checking the checkbox"
|
|
||||||
);
|
|
||||||
Assert.equal(
|
|
||||||
false,
|
|
||||||
Services.prefs.getBoolPref(DNT_PREF),
|
|
||||||
"DNT should still be disabled after checking the checkbox"
|
|
||||||
);
|
|
||||||
|
|
||||||
await BrowserTestUtils.synthesizeMouseAtCenter(
|
|
||||||
"#" + DNT_CHECKBOX_ID,
|
|
||||||
{},
|
|
||||||
browser
|
|
||||||
);
|
|
||||||
Assert.ok(
|
|
||||||
gpc_checkbox.checked && dnt_checkbox.checked,
|
|
||||||
"both checkboxes are enabled"
|
|
||||||
);
|
|
||||||
Assert.equal(
|
|
||||||
true,
|
|
||||||
Services.prefs.getBoolPref(MODE_PREF),
|
|
||||||
"GPC should still be on after checking the DNT checkbox"
|
|
||||||
);
|
|
||||||
Assert.equal(
|
|
||||||
true,
|
|
||||||
Services.prefs.getBoolPref(DNT_PREF),
|
|
||||||
"DNT should still be enabled after checking the checkbox"
|
|
||||||
);
|
|
||||||
|
|
||||||
await BrowserTestUtils.synthesizeMouseAtCenter(
|
|
||||||
"#" + DNT_CHECKBOX_ID,
|
|
||||||
{},
|
|
||||||
browser
|
|
||||||
);
|
|
||||||
await BrowserTestUtils.synthesizeMouseAtCenter(
|
|
||||||
"#" + GPC_CHECKBOX_ID,
|
|
||||||
{},
|
|
||||||
browser
|
|
||||||
);
|
|
||||||
Assert.ok(
|
|
||||||
!gpc_checkbox.checked && !dnt_checkbox.checked,
|
|
||||||
"both checkboxes are disabled"
|
|
||||||
);
|
|
||||||
Assert.equal(
|
|
||||||
false,
|
|
||||||
Services.prefs.getBoolPref(MODE_PREF),
|
|
||||||
"GPC should be unchecked"
|
|
||||||
);
|
|
||||||
Assert.equal(
|
|
||||||
false,
|
|
||||||
Services.prefs.getBoolPref(DNT_PREF),
|
|
||||||
"DNT should be unchecked"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
await SpecialPowers.popPrefEnv();
|
|
||||||
});
|
|
||||||
@@ -3,19 +3,12 @@
|
|||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
do-not-track-description = Send websites a “Do Not Track” signal that you don’t want to be tracked
|
do-not-track-description = Send websites a “Do Not Track” signal that you don’t want to be tracked
|
||||||
do-not-track-description2 =
|
|
||||||
.label = Send websites a “Do Not Track” request
|
|
||||||
.accesskey = d
|
|
||||||
do-not-track-learn-more = Learn more
|
do-not-track-learn-more = Learn more
|
||||||
do-not-track-option-default-content-blocking-known =
|
do-not-track-option-default-content-blocking-known =
|
||||||
.label = Only when { -brand-short-name } is set to block known trackers
|
.label = Only when { -brand-short-name } is set to block known trackers
|
||||||
do-not-track-option-always =
|
do-not-track-option-always =
|
||||||
.label = Always
|
.label = Always
|
||||||
|
|
||||||
global-privacy-control-description =
|
|
||||||
.label = Tell websites not to sell or share my data
|
|
||||||
.accesskey = s
|
|
||||||
|
|
||||||
settings-page-title = Settings
|
settings-page-title = Settings
|
||||||
|
|
||||||
# This is used to determine the width of the search field in about:preferences,
|
# This is used to determine the width of the search field in about:preferences,
|
||||||
|
|||||||
@@ -529,7 +529,7 @@ a[is="moz-support-link"]:not(.sidebar-footer-link) {
|
|||||||
margin-block: 0 4px;
|
margin-block: 0 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#nonTechnicalPrivacyBox {
|
#doNotTrackLearnMoreBox {
|
||||||
margin-top: 32px;
|
margin-top: 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ export var Preferences = {
|
|||||||
["panePrivacy", clearRecentHistoryDialog],
|
["panePrivacy", clearRecentHistoryDialog],
|
||||||
["panePrivacy", certManager],
|
["panePrivacy", certManager],
|
||||||
["panePrivacy", deviceManager],
|
["panePrivacy", deviceManager],
|
||||||
|
["panePrivacy", DNTDialog],
|
||||||
["paneSync"],
|
["paneSync"],
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -124,6 +125,23 @@ async function cacheGroup(aBrowser) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function DNTDialog(aBrowser) {
|
||||||
|
return aBrowser.ownerGlobal.SpecialPowers.spawn(
|
||||||
|
aBrowser,
|
||||||
|
[],
|
||||||
|
async function () {
|
||||||
|
const button = content.document.getElementById("doNotTrackSettings");
|
||||||
|
if (!button) {
|
||||||
|
return {
|
||||||
|
todo: "The dialog may have exited before we could click the button",
|
||||||
|
};
|
||||||
|
}
|
||||||
|
button.click();
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
async function connectionDialog(aBrowser) {
|
async function connectionDialog(aBrowser) {
|
||||||
await aBrowser.ownerGlobal.SpecialPowers.spawn(
|
await aBrowser.ownerGlobal.SpecialPowers.spawn(
|
||||||
aBrowser,
|
aBrowser,
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ var supportedProps = [
|
|||||||
"appCodeName",
|
"appCodeName",
|
||||||
"appName",
|
"appName",
|
||||||
"appVersion",
|
"appVersion",
|
||||||
{ name: "globalPrivacyControl", isNightly: true },
|
|
||||||
"platform",
|
"platform",
|
||||||
"product",
|
"product",
|
||||||
"userAgent",
|
"userAgent",
|
||||||
|
|||||||
Reference in New Issue
Block a user