Overview
Comment: | [fx] fix gc options loading at startup (at least for Chrome) |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fx |
Files: | files | file ages | folders |
SHA3-256: |
0734ff8f6bbac2131e962c206abe64cf |
User & Date: | olr on 2018-03-05 15:47:23 |
Other Links: | manifest | tags |
Context
2018-03-06
| ||
11:33 | [build][tb] move the Thunberbird debug profile somewhere else check-in: d7e8aec548 user: olr tags: trunk, build, tb | |
2018-03-05
| ||
18:15 | merge trunk check-in: c0e7e2c228 user: olr tags: multid | |
15:47 | [fx] fix gc options loading at startup (at least for Chrome) check-in: 0734ff8f6b user: olr tags: trunk, fx | |
15:45 | [fx] change notice in dictionary options panel check-in: 8e9eda66c4 user: olr tags: trunk, fx | |
Changes
Modified gc_lang/fr/webext/background.js from [1d15c00f44] to [1f59a4fda9].
︙ | ︙ | |||
20 21 22 23 24 25 26 | Worker (separate thread to avoid freezing Firefox) */ let xGCEWorker = new Worker("gce_worker.js"); xGCEWorker.onmessage = function (e) { // https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent try { | | > > > > > | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | Worker (separate thread to avoid freezing Firefox) */ let xGCEWorker = new Worker("gce_worker.js"); xGCEWorker.onmessage = function (e) { // https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent try { let {sActionDone, result, dInfo, bEnd, bError} = e.data; if (bError) { console.log(result); console.log(dInfo); return; } switch (sActionDone) { case "init": storeGCOptions(result); break; case "parse": case "parseAndSpellcheck": case "parseAndSpellcheck1": |
︙ | ︙ | |||
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | editablenode: true }}); } } function initGrammarChecker (dSavedOptions) { let dOptions = (dSavedOptions.hasOwnProperty("gc_options")) ? dSavedOptions.gc_options : null; xGCEWorker.postMessage({ sCommand: "init", dParam: {sExtensionPath: browser.extension.getURL(""), dOptions: dOptions, sContext: "Firefox"}, dInfo: {} }); } function setSpellingDictionary (dSavedDictionary) { if (dSavedDictionary.hasOwnProperty("oExtendedDictionary")) { xGCEWorker.postMessage({ sCommand: "setDictionary", dParam: { sType: "extended", oDict: dSavedDictionary["oExtendedDictionary"] }, dInfo: {} }); } | > > > > | | 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | editablenode: true }}); } } function initGrammarChecker (dSavedOptions) { let dOptions = (dSavedOptions.hasOwnProperty("gc_options")) ? dSavedOptions.gc_options : null; if (bChrome) { // JS crap again. Chrome can’t store Map object. dOptions = helpers.objectToMap(dOptions); } xGCEWorker.postMessage({ sCommand: "init", dParam: {sExtensionPath: browser.extension.getURL(""), dOptions: dOptions, sContext: "Firefox"}, dInfo: {} }); } function setSpellingDictionary (dSavedDictionary) { if (dSavedDictionary.hasOwnProperty("oExtendedDictionary")) { xGCEWorker.postMessage({ sCommand: "setDictionary", dParam: { sType: "extended", oDict: dSavedDictionary["oExtendedDictionary"] }, dInfo: {} }); } if (dSavedDictionary.hasOwnProperty("oPersonalDictionary")) { xGCEWorker.postMessage({ sCommand: "setDictionary", dParam: { sType: "personal", oDict: dSavedDictionary["oPersonalDictionary"] }, dInfo: {} }); } } |
︙ | ︙ |
Modified gc_lang/fr/webext/gce_worker.js from [efd11a103b] to [9f37b00cd8].
︙ | ︙ | |||
86 87 88 89 90 91 92 | Message Event Object https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent */ onmessage = function (e) { let {sCommand, dParam, dInfo} = e.data; switch (sCommand) { case "init": | | | 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | Message Event Object https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent */ onmessage = function (e) { let {sCommand, dParam, dInfo} = e.data; switch (sCommand) { case "init": init(dParam.sExtensionPath, dParam.dOptions, dParam.sContext, dInfo); break; case "parse": parse(dParam.sText, dParam.sCountry, dParam.bDebug, dParam.bContext, dInfo); break; case "parseAndSpellcheck": parseAndSpellcheck(dParam.sText, dParam.sCountry, dParam.bDebug, dParam.bContext, dInfo); break; |
︙ | ︙ | |||
169 170 171 172 173 174 175 176 177 178 179 180 181 182 | oTest = new TestGrammarChecking(gc_engine, sExtensionPath+"/grammalecte/fr/tests_data.json"); oTokenizer = new Tokenizer("fr"); oLocution = helpers.loadFile(sExtensionPath + "/grammalecte/fr/locutions_data.json"); oLxg = new Lexicographe(oSpellChecker, oTokenizer, oLocution); if (dOptions !== null) { gc_engine.setOptions(dOptions); } //tests(); bInitDone = true; } else { console.log("[Worker] Already initialized…") } | > | 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | oTest = new TestGrammarChecking(gc_engine, sExtensionPath+"/grammalecte/fr/tests_data.json"); oTokenizer = new Tokenizer("fr"); oLocution = helpers.loadFile(sExtensionPath + "/grammalecte/fr/locutions_data.json"); oLxg = new Lexicographe(oSpellChecker, oTokenizer, oLocution); if (dOptions !== null) { console.log(dOptions); gc_engine.setOptions(dOptions); } //tests(); bInitDone = true; } else { console.log("[Worker] Already initialized…") } |
︙ | ︙ | |||
229 230 231 232 233 234 235 | function setOptions (dOptions, dInfo={}) { gc_engine.setOptions(dOptions); postMessage(createResponse("setOptions", gc_engine.getOptions(), dInfo, true)); } function setOption (sOptName, bValue, dInfo={}) { console.log(sOptName+": "+bValue); | > | | > | 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | function setOptions (dOptions, dInfo={}) { gc_engine.setOptions(dOptions); postMessage(createResponse("setOptions", gc_engine.getOptions(), dInfo, true)); } function setOption (sOptName, bValue, dInfo={}) { console.log(sOptName+": "+bValue); if (sOptName) { gc_engine.setOption(sOptName, bValue); postMessage(createResponse("setOption", gc_engine.getOptions(), dInfo, true)); } } function resetOptions (dInfo={}) { gc_engine.resetOptions(); postMessage(createResponse("resetOptions", gc_engine.getOptions(), dInfo, true)); } |
︙ | ︙ |
Modified gc_lang/fr/webext/panel/main.js from [5258bba8d8] to [82866d8fd8].
︙ | ︙ | |||
43 44 45 46 47 48 49 | browser.runtime.sendMessage({ sCommand: "resetOptions", dParam: {}, dInfo: {} }); } else if (xElem.id.startsWith("option_")) { | > | | | | | > | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | browser.runtime.sendMessage({ sCommand: "resetOptions", dParam: {}, dInfo: {} }); } else if (xElem.id.startsWith("option_")) { if (xElem.dataset.option) { browser.runtime.sendMessage({ sCommand: "setOption", dParam: {sOptName: xElem.dataset.option, bValue: xElem.checked}, dInfo: {} }); } } else if (xElem.id.startsWith("ui_option_")) { storeUIOptions(); } else if (xElem.id.startsWith("link_")) { browser.tabs.create({url: xElem.dataset.url}); } |
︙ | ︙ | |||
206 207 208 209 210 211 212 | function _setGCOptions (dSavedOptions) { if (dSavedOptions.hasOwnProperty("gc_options")) { setGCOptions(dSavedOptions.gc_options); } } function setGCOptions (dOptions) { | > | | | < < < < | | | | | | | | > > > > > | 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 | function _setGCOptions (dSavedOptions) { if (dSavedOptions.hasOwnProperty("gc_options")) { setGCOptions(dSavedOptions.gc_options); } } function setGCOptions (dOptions) { try { // dOptions is supposed to be a Map if (bChrome) { // JS crap again. Chrome can’t store/send Map object. dOptions = helpers.objectToMap(dOptions); } for (let [sOpt, bVal] of dOptions) { if (document.getElementById("option_"+sOpt)) { document.getElementById("option_"+sOpt).checked = bVal; } } } catch (e) { console.log(dOptions); showError(e); } } |