Files
tubestation/waterfox/browser/components/preferences/content/privacy.js

77 lines
2.1 KiB
JavaScript

const _gPrivacyPaneOverlay = {
init() {
// Ensure load images automatically checkbox value is correct.
this.initLoadImages();
Preferences.get("permissions.default.image").on(
"change",
this.loadImagesReadPref.bind(this)
);
if (!window.privacyInitialized) {
setTimeout(() => {
this.delayedInit();
}, 500);
}
},
delayedInit() {
this.updatePrivacyDefaults();
},
// Update privacy item default values
async updatePrivacyDefaults() {
const webRtc = document.getElementById("enableWebRTCP2P");
webRtc.checked = Preferences.get(webRtc.getAttribute("preference")).value;
const refHeader = document.getElementById("doNotsendSecureXSiteReferrer");
refHeader.value = Preferences.get(
refHeader.getAttribute("preference")
).value;
const imagePermissions = document.getElementById("loadImages");
imagePermissions.checked = !!Preferences.get("permissions.default.image")
.value;
const javascriptPermissions = document.getElementById("enableJavaScript");
javascriptPermissions.checked = Preferences.get(
javascriptPermissions.getAttribute("preference")
).value;
},
/**
* Selects the right item of the Load Images Automatically checkbox.
*/
initLoadImages() {
const liaCheckbox = document.getElementById("loadImages");
// If it doesn't exist yet, try again.
if (!liaCheckbox) {
setTimeout(() => {
this.initLoadImages();
}, 500);
return;
}
// Create event listener for when the user clicks
// on one of the radio buttons
setEventListener("loadImages", "command", this.syncToLoadImagesPref);
this.loadImagesReadPref();
},
loadImagesReadPref() {
const enabledPref = Preferences.get("permissions.default.image");
const liaCheckbox = document.getElementById("loadImages");
if (enabledPref.value === 1) {
liaCheckbox.checked = true;
} else {
liaCheckbox.checked = false;
}
},
syncToLoadImagesPref() {
const value = document.getElementById("loadImages").checked ? 1 : 2;
Services.prefs.setIntPref("permissions.default.image", value);
},
};