var default_preferences = {"pbkdf2_level": 1000, "account_url": "https://gpass-demo.soutade.fr/demo", "crypto_v1_compatible": true}; function save() { var account_url = document.getElementById('account_url').value; var pbkdf2 = document.getElementById('pbkdf2').value; var crypto_v1_compatible = document.getElementById('crypto_v1_compatible').checked; browser.storage.local.set({ "account_url":account_url, "pbkdf2_level":pbkdf2, "crypto_v1_compatible": crypto_v1_compatible, }) .then(function ok() { alert("Saved"); }, function err() { alert("Cannot save your preferences");} ); } function restoreOptions() { document.getElementById('account_url').value = default_preferences['account_url']; document.getElementById('pbkdf2').value = default_preferences['pbkdf2_level']; document.getElementById('crypto_v1_compatible').checked = default_preferences["crypto_v1_compatible"]; browser.storage.local.get().then( function(prefs) { if (prefs.hasOwnProperty("account_url")) document.getElementById('account_url').value = prefs["account_url"]; if (prefs.hasOwnProperty("pbkdf2_level")) document.getElementById('pbkdf2').value = prefs["pbkdf2_level"]; if (prefs.hasOwnProperty("crypto_v1_compatible")) document.getElementById('crypto_v1_compatible').checked = prefs["crypto_v1_compatible"]; } ); } document.getElementById('save').addEventListener("click", save); document.addEventListener("DOMContentLoaded", restoreOptions);