Convert shim to Typescript (#32)

This commit is contained in:
Matt Hensman
2019-03-12 05:51:43 +00:00
committed by GitHub
parent 4cf0f7264a
commit f1125061d5
89 changed files with 1643 additions and 1378 deletions

34
ext/src/shim/content.ts Normal file
View File

@@ -0,0 +1,34 @@
"use strict";
import { Message } from "../types";
import { onMessageResponse, sendMessage } from "./messageBridge";
// Message ports
const backgroundPort = browser.runtime.connect({ name: "shim" });
let popupPort: browser.runtime.Port;
// Set popupPort once it connects
browser.runtime.onConnect.addListener(port => {
if (port.name === "popup") {
popupPort = port;
}
port.onMessage.addListener(sendMessage);
});
// Forward background messages to shim
backgroundPort.onMessage.addListener(sendMessage);
// Forward shim messages to popup and background script
onMessageResponse((message: Message) => {
const [ destination ] = message.subject.split(":/");
if (destination === "popup") {
if (popupPort) {
popupPort.postMessage(message);
}
} else {
backgroundPort.postMessage(message);
}
});