Overview
| Comment: | [fx] Le SharedWorker ne se partage pas dans toutes les fenêtres... Estce à cause de la bidouille ??? |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | fx | webext_sharedworker |
| Files: | files | file ages | folders |
| SHA3-256: |
c262fc885da821b05cc0235dd19782d6 |
| User & Date: | IllusionPerdu on 2017-08-11 10:44:02 |
| Other Links: | branch diff | manifest | tags |
Context
|
2017-08-11
| ||
| 16:33 | [fx] Pas mal de simplifications dans le code, mais le SharedWorker ne se partage toujours pas... Leaf check-in: d51f7da951 user: IllusionPerdu tags: fx, webext_sharedworker | |
| 10:44 | [fx] Le SharedWorker ne se partage pas dans toutes les fenêtres... Estce à cause de la bidouille ??? check-in: c262fc885d user: IllusionPerdu tags: fx, webext_sharedworker | |
| 09:48 | [fx] Simple test of previous commit check-in: acd22b9ea0 user: IllusionPerdu tags: fx, webext_sharedworker | |
Changes
Modified gc_lang/fr/webext/background.js from [b961377700] to [897ba1cfeb].
|
| | | 1 2 3 4 5 6 7 8 |
// Background
"use strict";
function showError (e) {
console.error(e.fileName + "\n" + e.name + "\nline: " + e.lineNumber + "\n" + e.message);
}
|
| ︙ | ︙ | |||
55 56 57 58 59 60 61 |
console.log("Unknown command: " + e.data[0]);
}
}
catch (e) {
showError(e);
}
};
| | | 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
console.log("Unknown command: " + e.data[0]);
}
}
catch (e) {
showError(e);
}
};
xGCEWorker.start();
xGCEWorker.postMessage(["init", {sExtensionPath: browser.extension.getURL("."), sOptions: "", sContext: "Firefox"}]);
/*
Messages from the extension (not the Worker)
*/
function handleMessage (oRequest, xSender, sendResponse) {
|
| ︙ | ︙ | |||
156 157 158 159 160 161 162 |
case "conjugueur_tab":
xConjTab = browser.tabs.create({
url: browser.extension.getURL("panel/conjugueur.html"),
pinned: true
});
xConjTab.then(onCreated, onError);
break;
| | | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
case "conjugueur_tab":
xConjTab = browser.tabs.create({
url: browser.extension.getURL("panel/conjugueur.html"),
pinned: true
});
xConjTab.then(onCreated, onError);
break;
}
});
async function newwin () {
console.log("Async on");
const getActive = browser.tabs.query({ currentWindow: true, active: true, });
const xWindowInfo = await browser.windows.getLastFocused();
|
| ︙ | ︙ |
Modified gc_lang/fr/webext/content_scripts/communicate.js from [f425809667] to [dd49867218].
| ︙ | ︙ | |||
26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
console.log("[Iframe] send from Message Worker");
window.postMessage({SharedWorker: e.data}, sPath);
}
catch (e) {
console.error(e);
}
};
console.log("[Iframe] [worker]");
console.log(xGCEWorker);
//xGCEWorker.port.start();
//console.log("Content script [port started]");
| > | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
console.log("[Iframe] send from Message Worker");
window.postMessage({SharedWorker: e.data}, sPath);
}
catch (e) {
console.error(e);
}
};
xGCEWorker.port.start();
console.log("[Iframe] [worker]");
console.log(xGCEWorker);
//xGCEWorker.port.start();
//console.log("Content script [port started]");
|
| ︙ | ︙ | |||
52 53 54 55 56 57 58 |
// Pour être sûr que ça vient bien de notre iframe ;)
if (!xGCEWorker && typeof oEvent.data.sPath !== "undefined" && typeof oEvent.data.sPage !== "undefined" && oEvent.data.sPage === oEvent.origin) {
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);
| | | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
// Pour être sûr que ça vient bien de notre iframe ;)
if (!xGCEWorker && typeof oEvent.data.sPath !== "undefined" && typeof oEvent.data.sPage !== "undefined" && oEvent.data.sPage === oEvent.origin) {
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
// 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');
}
}
window.addEventListener("message", receivedMessageWeb, false);
console.log('[Iframe] END');
|
Modified gc_lang/fr/webext/gce_sharedworker.js from [72e7a7fc85] to [1348682312].
| ︙ | ︙ | |||
65 66 67 68 69 70 71 |
function showError (e) {
for (let sParam in e) {
console.log(sParam);
console.log(e[sParam]);
}
}
| | | < | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
function showError (e) {
for (let sParam in e) {
console.log(sParam);
console.log(e[sParam]);
}
}
self.addEventListener("connect", function(e){
console.log("START CONNECTION");
xPort = e.ports[0];
xListPort.push(xPort);
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]) {
case "init":
loadGrammarChecker(oParam.sExtensionPath, oParam.sOptions, oParam.sContext);
|
| ︙ | ︙ | |||
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
case "fullTests":
fullTests();
break;
case "getListOfTokens":
getListOfTokens(oParam.sText);
break;
case "other":
console.log("Message to Other");
toReply.Other("Message to Other");
break;
case "all":
console.log("Message to All");
toReply.All("Message to All");
break;
default:
console.log("Unknown command: " + showError(e.data[0]));
}
| > > | | | | 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
case "fullTests":
fullTests();
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();
});
let toReply = {
All: function(data){
xListPort.forEach(function(client){
client.postMessage(data);
});
},
|
| ︙ | ︙ |