gh-15387: Fix #writeToDom crash when mod has checkbox preferences (gh-15388)

This commit is contained in:
doruk
2026-09-14 02:33:21 +03:00
committed by GitHub
parent 787f9c5e02
commit b43785de65

View File

@@ -182,15 +182,21 @@ class nsZenMods extends nsZenPreloadedFeature {
({ enabled, preferences, name }) => ({
enabled,
sanitizedName: this.sanitizeModName(name),
prefs: preferences.map(({ property, type }) => ({
property,
type,
sanitizedProperty: property?.replaceAll(DOT_RE, "-"),
value:
enabled === undefined || enabled
? Services.prefs.getStringPref(property, "")
: "",
})),
prefs: preferences.map(({ property, type }) => {
const isEnabled = enabled === undefined || enabled;
const getPref =
type === "checkbox"
? Services.prefs.getBoolPref
: Services.prefs.getStringPref;
const fallback = type === "checkbox" ? false : "";
return {
property,
type,
sanitizedProperty: property?.replaceAll(DOT_RE, "-"),
value: isEnabled ? getPref(property, fallback) : fallback,
};
}),
})
);