Index: gc_lang/fr/webext/background.js ================================================================== --- gc_lang/fr/webext/background.js +++ gc_lang/fr/webext/background.js @@ -1,6 +1,6 @@ -// Background +// Background "use strict"; function showError (e) { console.error(e.fileName + "\n" + e.name + "\nline: " + e.lineNumber + "\n" + e.message); @@ -57,11 +57,11 @@ } catch (e) { showError(e); } }; - +xGCEWorker.start(); xGCEWorker.postMessage(["init", {sExtensionPath: browser.extension.getURL("."), sOptions: "", sContext: "Firefox"}]); /* Messages from the extension (not the Worker) @@ -158,11 +158,11 @@ url: browser.extension.getURL("panel/conjugueur.html"), pinned: true }); xConjTab.then(onCreated, onError); break; - } + } }); async function newwin () { console.log("Async on"); Index: gc_lang/fr/webext/content_scripts/communicate.js ================================================================== --- gc_lang/fr/webext/content_scripts/communicate.js +++ gc_lang/fr/webext/content_scripts/communicate.js @@ -28,10 +28,11 @@ } catch (e) { console.error(e); } }; + xGCEWorker.port.start(); console.log("[Iframe] [worker]"); console.log(xGCEWorker); //xGCEWorker.port.start(); @@ -54,11 +55,11 @@ console.log('[Iframe] Create the Sharedworker ', oEvent.origin); sPathOrigin = oEvent.origin; createSharedWorker(oEvent.data.sPath); } else if (xGCEWorker && sPathOrigin === oEvent.origin && typeof oEvent.data.SharedWorker === "undefined") { console.log('[Iframe] received (no SharedWorker):', oEvent, oEvent.origin); - // Les messages reçus maintenant ont un SharedWorker fonctionnel + // Les messages reçus maintenant ont un SharedWorker fonctionnel // On transmet au SharedWorker uniquement si ça vient de la page web et on s’assure que ce n’est pas une réponse du SharedWorker. // TODO: Établir un protocole de communication afin de traiter uniquement les messages utiles console.log('[Iframe] exec command with SharedWorker'); xGCEWorker.port.postMessage(oEvent.data); console.log('[Iframe] end send message to worker'); Index: gc_lang/fr/webext/gce_sharedworker.js ================================================================== --- gc_lang/fr/webext/gce_sharedworker.js +++ gc_lang/fr/webext/gce_sharedworker.js @@ -67,16 +67,15 @@ console.log(sParam); console.log(e[sParam]); } } -onconnect = function(e) { +self.addEventListener("connect", function(e){ console.log("START CONNECTION"); xPort = e.ports[0]; xListPort.push(xPort); - - xPort.onmessage = function (e) { + xPort.addEventListener("message", function(e){ console.log("[Sharedworker] ONMESSAGE"); console.log(e); console.log(e.data[0]); let oParam = e.data[1]; switch (e.data[0]) { @@ -112,23 +111,25 @@ break; case "getListOfTokens": getListOfTokens(oParam.sText); break; case "other": + console.log("[Sharedworker Other] Number of client: "+xListPort.length); console.log("Message to Other"); toReply.Other("Message to Other"); break; case "all": + console.log("[Sharedworker All] Number of client: "+xListPort.length); console.log("Message to All"); toReply.All("Message to All"); break; default: console.log("Unknown command: " + showError(e.data[0])); } - } - //xPort.start(); -} + }); + xPort.start(); +}); let toReply = { All: function(data){ xListPort.forEach(function(client){ client.postMessage(data);