mirror of
https://codeberg.org/librewolf/source.git
synced 2024-12-22 13:43:04 -05:00
190c2a97d8
Closes librewolf/issues#1964
72 lines
2.6 KiB
Diff
72 lines
2.6 KiB
Diff
# HG changeset patch
|
|
# User Malte Jürgens <maltejur@dismail.de>
|
|
# Date 1722462820 -7200
|
|
# Wed Jul 31 23:53:40 2024 +0200
|
|
# Node ID 457872813e06bcf474803cf0c9519809fbc5806a
|
|
# Parent 265f9fb218cd9395f36a16714b1f295f4a996b76
|
|
Bug 1910312 - Unbreak privacy and security settings when MOZ_DATA_REPORTING is disabled r?#settings-reviewers!
|
|
|
|
Disabling `MOZ_DATA_REPORTING` results in the `PREF_UPLOAD_ENABLED` pref not
|
|
being loaded with `Preferences.add`. This means
|
|
`Preferences.get(PREF_UPLOAD_ENABLED)` can possibly be `null`, which was
|
|
previously not handled and resulted in an error for the whole privacy.js file.
|
|
|
|
So only call `dataCollectionCheckboxHandler` for the `privateAttribution`
|
|
checkbox if `MOZ_DATA_REPORTING` is enabled (otherwise the `privateAttribution`
|
|
checkbox also just doesn't exist). Also move the call into separate
|
|
`initPrivateAttributionCheckbox` function to be more consistent with previous
|
|
code.
|
|
|
|
Differential Revision: https://phabricator.services.mozilla.com/D218265
|
|
|
|
diff --git a/browser/components/preferences/privacy.js b/browser/components/preferences/privacy.js
|
|
--- a/browser/components/preferences/privacy.js
|
|
+++ b/browser/components/preferences/privacy.js
|
|
@@ -339,7 +339,7 @@ function dataCollectionCheckboxHandler({
|
|
!collectionEnabled || Services.prefs.prefIsLocked(pref) || isDisabled();
|
|
}
|
|
|
|
- Preferences.get(PREF_UPLOAD_ENABLED).on("change", updateCheckbox);
|
|
+ Preferences.get(PREF_UPLOAD_ENABLED)?.on("change", updateCheckbox);
|
|
updateCheckbox();
|
|
}
|
|
|
|
@@ -1267,17 +1267,8 @@ var gPrivacyPane = {
|
|
this.initOptOutStudyCheckbox();
|
|
}
|
|
this.initAddonRecommendationsCheckbox();
|
|
+ this.initPrivateAttributionCheckbox();
|
|
}
|
|
- dataCollectionCheckboxHandler({
|
|
- checkbox: document.getElementById("privateAttribution"),
|
|
- pref: PREF_PRIVATE_ATTRIBUTION_ENABLED,
|
|
- matchPref() {
|
|
- return AppConstants.MOZ_TELEMETRY_REPORTING;
|
|
- },
|
|
- isDisabled() {
|
|
- return !AppConstants.MOZ_TELEMETRY_REPORTING;
|
|
- },
|
|
- });
|
|
|
|
let signonBundle = document.getElementById("signonBundle");
|
|
let pkiBundle = document.getElementById("pkiBundle");
|
|
@@ -3568,6 +3559,19 @@ var gPrivacyPane = {
|
|
});
|
|
},
|
|
|
|
+ initPrivateAttributionCheckbox() {
|
|
+ dataCollectionCheckboxHandler({
|
|
+ checkbox: document.getElementById("privateAttribution"),
|
|
+ pref: PREF_PRIVATE_ATTRIBUTION_ENABLED,
|
|
+ matchPref() {
|
|
+ return AppConstants.MOZ_TELEMETRY_REPORTING;
|
|
+ },
|
|
+ isDisabled() {
|
|
+ return !AppConstants.MOZ_TELEMETRY_REPORTING;
|
|
+ },
|
|
+ });
|
|
+ },
|
|
+
|
|
observe(aSubject, aTopic) {
|
|
switch (aTopic) {
|
|
case "sitedatamanager:updating-sites":
|