var default_preferences = {"pbkdf2_level": 1000, "account_url": "https://gpass-demo.soutade.fr/demo", "always_disabled":false }; function save() { var account_url = document.getElementById('account_url').value; var pbkdf2_level = document.getElementById('pbkdf2_level').value; var always_disabled = document.getElementById('always_disabled').checked; browser.storage.local.set({ "account_url":account_url, "pbkdf2_level":pbkdf2_level, "always_disabled": always_disabled, }) .then(function ok() { alert("Saved"); }, function err() { alert("Cannot save your preferences");} ); } function restoreOption(preferences, pref) { var res; if (!preferences.hasOwnProperty(pref)) res = default_preferences[pref]; else res = preferences[pref]; var element = document.getElementById(pref); if (element.type == 'checkbox') element.checked = res; else element.value = res; } function restoreOptions() { browser.storage.local.get().then( function(prefs) { restoreOption(prefs, 'account_url'); restoreOption(prefs, 'pbkdf2_level'); restoreOption(prefs, 'always_disabled'); } ); } document.getElementById('save').addEventListener("click", save); document.addEventListener("DOMContentLoaded", restoreOptions);