diff --git a/src/browser/components/preferences/zen-settings.js b/src/browser/components/preferences/zen-settings.js index 7460c22b6..4f0caebe4 100644 --- a/src/browser/components/preferences/zen-settings.js +++ b/src/browser/components/preferences/zen-settings.js @@ -385,16 +385,21 @@ var gZenMarketplaceManager = { case 'checkbox': { const checkbox = window.MozXULElement.parseXULToFragment(` - + `); + const checkboxElement = checkbox.querySelector('.zenThemeMarketplaceItemPreferenceCheckbox'); + checkboxElement.setAttribute('label', label); + checkboxElement.setAttribute('tooltiptext', property); + checkboxElement.setAttribute('zen-pref', property); + // Checkbox only works with "true" and "false" values, it's not like HTML checkboxes. if (Services.prefs.getBoolPref(property, false)) { - checkbox.querySelector('.zenThemeMarketplaceItemPreferenceCheckbox').setAttribute('checked', 'true'); + checkboxElement.setAttribute('checked', 'true'); } - checkbox.querySelector('.zenThemeMarketplaceItemPreferenceCheckbox').addEventListener('click', (event) => { + checkboxElement.addEventListener('click', (event) => { const target = event.target.closest('.zenThemeMarketplaceItemPreferenceCheckbox'); const key = target.getAttribute('zen-pref'); const checked = target.hasAttribute('checked');