Index: gc_lang/fr/webext/content_scripts/init.js ================================================================== --- gc_lang/fr/webext/content_scripts/init.js +++ gc_lang/fr/webext/content_scripts/init.js @@ -14,12 +14,14 @@ console.error(e.fileName + "\n" + e.name + "\nline: " + e.lineNumber + "\n" + e.message); } // Chrome don’t follow the W3C specification: // https://browserext.github.io/browserext/ +let bChrome = false; if (typeof(browser) !== "object") { var browser = chrome; + bChrome = true; } function createNode (sType, oAttr, oDataset=null) { try { Index: gc_lang/fr/webext/content_scripts/panel_tf.js ================================================================== --- gc_lang/fr/webext/content_scripts/panel_tf.js +++ gc_lang/fr/webext/content_scripts/panel_tf.js @@ -162,12 +162,16 @@ /* Actions */ start (xTextArea) { this.xTextArea = xTextArea; - let xPromise = browser.storage.local.get("tf_options"); - xPromise.then(this.setOptions.bind(this), this.reset.bind(this)); + if (bChrome) { + browser.storage.local.get("tf_options", this.setOptions.bind(this)); + } else { + let xPromise = browser.storage.local.get("tf_options"); + xPromise.then(this.setOptions.bind(this), this.reset.bind(this)); + } } switchGroup (sOptName) { if (document.getElementById(sOptName).dataset.selected == "true") { document.getElementById(sOptName.slice(2)).style.opacity = 1; Index: gc_lang/fr/webext/panel/main.js ================================================================== --- gc_lang/fr/webext/panel/main.js +++ gc_lang/fr/webext/panel/main.js @@ -7,12 +7,14 @@ console.error(e.fileName + "\n" + e.name + "\nline: " + e.lineNumber + "\n" + e.message); } // Chrome don’t follow the W3C specification: // https://browserext.github.io/browserext/ +let bChrome = false; if (typeof(browser) !== "object") { var browser = chrome; + bChrome = true; } /* Events @@ -129,27 +131,30 @@ function showTestResult (sText) { document.getElementById("tests_result").textContent = sText; } + function setGCOptionsFromStorage () { + if (bChrome) { + browser.storage.local.get("gc_options", _setGCOptions); + return; + } let xPromise = browser.storage.local.get("gc_options"); - xPromise.then( - function (dSavedOptions) { - if (dSavedOptions.hasOwnProperty("gc_options")) { - setGCOptions(dSavedOptions.gc_options); - } - }, - function (e) { - showError(e); - } - ); + xPromise.then(_setGCOptions, showError); +} + +function _setGCOptions (dSavedOptions) { + if (dSavedOptions.hasOwnProperty("gc_options")) { + setGCOptions(dSavedOptions.gc_options); + } } function setGCOptions (dOptions) { + console.log(dOptions); for (let [sOpt, bVal] of dOptions) { if (document.getElementById("option_"+sOpt)) { document.getElementById("option_"+sOpt).checked = bVal; } } }