Overview
Comment: | [core][fx] gc engine in a dedicated worker |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | fx | webext2 |
Files: | files | file ages | folders |
SHA3-256: |
51a209f202acedcd09aedfcc5f6edf28 |
User & Date: | olr on 2017-08-04 08:18:42 |
Other Links: | branch diff | manifest | tags |
Context
2017-08-04
| ||
15:41 | [fx][core] initialization in gce_worker.js check-in: 1f4195c966 user: olr tags: fx, webext2 | |
08:18 | [core][fx] gc engine in a dedicated worker check-in: 51a209f202 user: olr tags: fx, webext2 | |
06:32 | [core][js][py] nextWord and previousWord: only necessary groups + bug fix for JS check-in: 30b40b6153 user: olr tags: core, webext2 | |
Changes
Added gc_lang/fr/webext/background.js version [67f47c2618].
> > > > > > > > > > > > |
1 2 3 4 5 6 7 8 9 10 11 12 |
// Background "use strict"; let xGCEWorker = new Worker("gce_worker.js"); function handleMessage (oRequest, xSender, sendResponse) { console.log(`[background] received: ${oRequest.content}`); sendResponse({response: "response from background script"}); } browser.runtime.onMessage.addListener(handleMessage); |
Modified gc_lang/fr/webext/gce_worker.js from [172934d86f] to [ea3f39a7e2].
1 2 3 4 5 6 7 8 9 10 11 12 13 .. 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ... 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 ... 143 144 145 146 147 148 149 150 151 |
/* WARNING. JavaScript still sucks. No module available in WebExtension at the moment! :( No require, no import/export. In order to use the same base of code with XUL-addon for Thunderbird and SDK-addon for Firefox, all modules have been “objectified”. And while they are still imported via “require” in the previous extensions, they are loaded as background scripts in WebExtension sharing the same memory space (it seems)… When JavaScript become a modern language, “deobjectify” the modules… ................................................................................ — Edge 15 – behind the Experimental JavaScript Features setting in about:flags. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export */ let oTokenizer = null; let oLxg = null; function loadGrammarChecker (sGCOptions="", sContext="JavaScript") { if (gc_engine === null) { try { ................................................................................ catch (e) { helpers.logerror(e); } return JSON.stringify([]); } function handleMessage (oRequest, xSender, sendResponse) { console.log(`[background] received: ${oRequest.content}`); sendResponse({response: "response from background script"}); } browser.runtime.onMessage.addListener(handleMessage); helpers.echo("START"); helpers.echo(conj.getConj("devenir", ":E", ":2s")); helpers.echo(mfsp.getMasForm("emmerdeuse", true)); helpers.echo(mfsp.getMasForm("pointilleuse", false)); ................................................................................ helpers.echo(oDict.getMorph("merde")); gc_engine.load("JavaScript"); let aRes = gc_engine.parse("Je suit..."); for (let oErr of aRes) { helpers.echo(text.getReadableError(oErr)); } //fullTests(); |
| > > > > > > > > > > > > > > > > > > > > > > > > < < < < < < < > > > |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 .. 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 ... 143 144 145 146 147 148 149 150 151 152 153 154 155 156 ... 160 161 162 163 164 165 166 167 168 169 170 171 |
/* WORKER: https://developer.mozilla.org/en-US/docs/Web/API/Worker https://developer.mozilla.org/en-US/docs/Web/API/DedicatedWorkerGlobalScope JavaScript still sucks. No module available in WebExtension at the moment! :( No require, no import/export. In Worker, we have importScripts() which imports everything in this scope. In order to use the same base of code with XUL-addon for Thunderbird and SDK-addon for Firefox, all modules have been “objectified”. And while they are still imported via “require” in the previous extensions, they are loaded as background scripts in WebExtension sharing the same memory space (it seems)… When JavaScript become a modern language, “deobjectify” the modules… ................................................................................ — Edge 15 – behind the Experimental JavaScript Features setting in about:flags. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export */ console.log("GC Engine Worker [start]"); console.log(self); importScripts("grammalecte/helpers.js"); importScripts("grammalecte/str_transform.js"); importScripts("grammalecte/ibdawg.js"); importScripts("grammalecte/text.js"); importScripts("grammalecte/tokenizer.js"); importScripts("grammalecte/fr/conj.js"); importScripts("grammalecte/fr/mfsp.js"); importScripts("grammalecte/fr/phonet.js"); importScripts("grammalecte/fr/cregex.js"); importScripts("grammalecte/fr/gc_options.js"); importScripts("grammalecte/fr/gc_rules.js"); importScripts("grammalecte/fr/gc_engine.js"); importScripts("grammalecte/tests.js"); helpers.echo("helpers echo"); let oTokenizer = null; let oLxg = null; function loadGrammarChecker (sGCOptions="", sContext="JavaScript") { if (gc_engine === null) { try { ................................................................................ catch (e) { helpers.logerror(e); } return JSON.stringify([]); } helpers.echo("START"); helpers.echo(conj.getConj("devenir", ":E", ":2s")); helpers.echo(mfsp.getMasForm("emmerdeuse", true)); helpers.echo(mfsp.getMasForm("pointilleuse", false)); ................................................................................ helpers.echo(oDict.getMorph("merde")); gc_engine.load("JavaScript"); let aRes = gc_engine.parse("Je suit..."); for (let oErr of aRes) { helpers.echo(text.getReadableError(oErr)); } //fullTests(); |
Modified gc_lang/fr/webext/manifest.json from [dc30bec757] to [49413af971].
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
"default_icon": "img/logo-32.png", "default_popup": "panel/main.html", "default_title": "Grammalecte [fr]", "browser_style": false }, "background": { "scripts": [ "grammalecte/helpers.js", "grammalecte/str_transform.js", "grammalecte/ibdawg.js", "grammalecte/text.js", "grammalecte/tokenizer.js", "grammalecte/fr/conj.js", "grammalecte/fr/mfsp.js", "grammalecte/fr/phonet.js", "grammalecte/fr/cregex.js", "grammalecte/fr/gc_options.js", "grammalecte/fr/gc_rules.js", "grammalecte/fr/gc_engine.js", "grammalecte/tests.js", "gce_worker.js" ] }, "web_accessible_resources": [ "grammalecte/_dictionaries/French.json", "grammalecte/fr/conj_data.json", "grammalecte/fr/mfsp_data.json", "grammalecte/fr/phonet_data.json", "grammalecte/fr/tests_data.json" ], "permissions": [ "activeTab" ] } |
| < < < < < < < < < < < < < |
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
"default_icon": "img/logo-32.png",
"default_popup": "panel/main.html",
"default_title": "Grammalecte [fr]",
"browser_style": false
},
"background": {
"scripts": [
"background.js"
]
},
"web_accessible_resources": [
"grammalecte/_dictionaries/French.json",
"grammalecte/fr/conj_data.json",
"grammalecte/fr/mfsp_data.json",
"grammalecte/fr/phonet_data.json",
"grammalecte/fr/tests_data.json"
],
"permissions": [
"activeTab"
]
}
|