diff options
author | hackademix | 2019-03-28 12:35:52 +0100 |
---|---|---|
committer | hackademix | 2019-03-28 13:04:36 +0100 |
commit | 661a2a436bfac1bb1d4f3b235d1bf26b00135d00 (patch) | |
tree | 0a6f794d25a9120a1649a6ae56795fe90700bfeb /src/bg | |
parent | c806c6bbff7e551fd24cf7c456c812b7c54007b5 (diff) | |
download | noscript-661a2a436bfac1bb1d4f3b235d1bf26b00135d00.tar.gz noscript-661a2a436bfac1bb1d4f3b235d1bf26b00135d00.tar.xz noscript-661a2a436bfac1bb1d4f3b235d1bf26b00135d00.zip |
Chromium-compatible popup closure handling.
Diffstat (limited to 'src/bg')
-rw-r--r-- | src/bg/main.js | 2 | ||||
-rw-r--r-- | src/bg/popupHandler.js | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/src/bg/main.js b/src/bg/main.js index 8ff2d55..667be28 100644 --- a/src/bg/main.js +++ b/src/bg/main.js @@ -49,7 +49,7 @@ // no embedder to answer us } log("STARTED"); - + await include("/bg/popupHandler.js"); }; let Commands = { diff --git a/src/bg/popupHandler.js b/src/bg/popupHandler.js new file mode 100644 index 0000000..b893174 --- /dev/null +++ b/src/bg/popupHandler.js @@ -0,0 +1,17 @@ +browser.runtime.onConnect.addListener(port => { + if (port.name === "noscript.popup") { + let pendingReload = false; + let tabId = -1; + port.onMessage.addListener(m => { + if ("pendingReload" in m) { + tabId = m.tabId; + pendingReload = m.pendingReload; + } + }); + port.onDisconnect.addListener(() => { + if (pendingReload) { + browser.tabs.reload(tabId); + } + }); + } +}); |