Overview
| Comment: | [fx] WebExt: adaptation to Chrome (write and read gc options) |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk | fx |
| Files: | files | file ages | folders |
| SHA3-256: |
6d2246be0e19fd5898172260c944e773 |
| User & Date: | olr on 2017-09-27 09:10:44 |
| Other Links: | manifest | tags |
Context
|
2017-09-27
| ||
| 10:20 | [fx] WebExt: adaptation to Chrome: minimal version required check-in: e7592882ed user: olr tags: trunk, fx | |
| 09:10 | [fx] WebExt: adaptation to Chrome (write and read gc options) check-in: 6d2246be0e user: olr tags: trunk, fx | |
|
2017-09-26
| ||
| 13:46 | [fx] WebExt: a Map is not a Map anymore on Chrome (not working) check-in: e2850f295a user: olr tags: trunk, fx | |
Changes
Modified gc_core/js/helpers.js from [f725b5eed7] to [b352512c63].
| ︙ | ︙ | |||
70 71 72 73 74 75 76 |
}
},
// conversions
objectToMap: function (obj) {
let m = new Map();
for (let param in obj) {
| < | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
}
},
// conversions
objectToMap: function (obj) {
let m = new Map();
for (let param in obj) {
m.set(param, obj[param]);
}
return m;
},
mapToObject: function (m) {
let obj = {};
|
| ︙ | ︙ |
Modified gc_lang/fr/webext/background.js from [d893b16f09] to [7732c179f1].
| ︙ | ︙ | |||
23 24 25 26 27 28 29 |
xGCEWorker.onmessage = function (e) {
// https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent
try {
let {sActionDone, result, dInfo} = e.data;
switch (sActionDone) {
case "init":
| | | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
xGCEWorker.onmessage = function (e) {
// https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent
try {
let {sActionDone, result, dInfo} = e.data;
switch (sActionDone) {
case "init":
storeGCOptions(result);
break;
case "parse":
case "parseAndSpellcheck":
case "parseAndSpellcheck1":
case "getListOfTokens":
case "getSpellSuggestions":
// send result to content script
|
| ︙ | ︙ | |||
49 50 51 52 53 54 55 |
browser.runtime.sendMessage(e.data);
break;
case "getOptions":
case "getDefaultOptions":
case "resetOptions":
// send result to panel
browser.runtime.sendMessage(e.data);
| | | | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
browser.runtime.sendMessage(e.data);
break;
case "getOptions":
case "getDefaultOptions":
case "resetOptions":
// send result to panel
browser.runtime.sendMessage(e.data);
storeGCOptions(result);
break;
case "setOptions":
case "setOption":
storeGCOptions(result);
break;
default:
console.log("[background] Unknown command: " + sActionDone);
console.log(e.data);
}
}
catch (e) {
|
| ︙ | ︙ | |||
258 259 260 261 262 263 264 265 266 267 268 269 270 271 |
}
});
/*
Actions
*/
function parseAndSpellcheckSelectedText (iTab, sText) {
// send message to the tab
let xTabPort = dConnx.get(iTab);
xTabPort.postMessage({sActionDone: "openGCPanel", result: null, dInfo: null, bEnd: false, bError: false});
// send command to the worker
xGCEWorker.postMessage({
sCommand: "parseAndSpellcheck",
| > > > > > > > > > > > > > | 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 |
}
});
/*
Actions
*/
function storeGCOptions (dOptions) {
if (bChrome) {
// JS crap again. Chrome can’t store Map object.
let obj = {};
for (let [k, v] of dOptions) {
obj[k] = v;
}
dOptions = obj;
}
browser.storage.local.set({"gc_options": dOptions});
}
function parseAndSpellcheckSelectedText (iTab, sText) {
// send message to the tab
let xTabPort = dConnx.get(iTab);
xTabPort.postMessage({sActionDone: "openGCPanel", result: null, dInfo: null, bEnd: false, bError: false});
// send command to the worker
xGCEWorker.postMessage({
sCommand: "parseAndSpellcheck",
|
| ︙ | ︙ |
Modified gc_lang/fr/webext/panel/main.js from [0dd514b39a] to [515cc52320].
| ︙ | ︙ | |||
147 148 149 150 151 152 153 |
function _setGCOptions (dSavedOptions) {
if (dSavedOptions.hasOwnProperty("gc_options")) {
setGCOptions(dSavedOptions.gc_options);
}
}
function setGCOptions (dOptions) {
| > > > | > > | > | > < < < < < < < < | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
function _setGCOptions (dSavedOptions) {
if (dSavedOptions.hasOwnProperty("gc_options")) {
setGCOptions(dSavedOptions.gc_options);
}
}
function setGCOptions (dOptions) {
if (bChrome) {
// JS crap again. Chrome can’t store Map object.
let m = new Map();
for (let param in dOptions) {
m.set(param, dOptions[param]);
}
dOptions = m;
}
for (let [sOpt, bVal] of dOptions) {
console.log(sOpt + ": " + bVal);
if (document.getElementById("option_"+sOpt)) {
document.getElementById("option_"+sOpt).checked = bVal;
}
}
}
|