summaryrefslogtreecommitdiff
path: root/src/bg
diff options
context:
space:
mode:
Diffstat (limited to 'src/bg')
-rw-r--r--src/bg/main.js20
-rw-r--r--src/bg/popupHandler.js2
2 files changed, 14 insertions, 8 deletions
diff --git a/src/bg/main.js b/src/bg/main.js
index 6e2cdf9..fa58b3a 100644
--- a/src/bg/main.js
+++ b/src/bg/main.js
@@ -54,19 +54,23 @@
};
let Commands = {
- openPageUI() {
+ async openPageUI() {
+ if (ns.popupOpening) return;
+ ns.popupOpening = true;
+ ns.popupOpened = false;
+ let openPanel = async () => {
+ ns.popupOpening = false;
+ if (ns.popupOpened) return;
+ messageHandler.openStandalonePopup();
+ };
try {
- browser.browserAction.openPopup();
+ await browser.browserAction.openPopup();
+ setTimeout(openPanel, 500);
return;
} catch (e) {
+ openPanel();
debug(e);
}
- browser.windows.create({
- url: popupURL,
- width: 800,
- height: 600,
- type: "panel"
- });
},
togglePermissions() {},
diff --git a/src/bg/popupHandler.js b/src/bg/popupHandler.js
index b893174..f5c2049 100644
--- a/src/bg/popupHandler.js
+++ b/src/bg/popupHandler.js
@@ -1,5 +1,6 @@
browser.runtime.onConnect.addListener(port => {
if (port.name === "noscript.popup") {
+ ns.popupOpened = true;
let pendingReload = false;
let tabId = -1;
port.onMessage.addListener(m => {
@@ -9,6 +10,7 @@ browser.runtime.onConnect.addListener(port => {
}
});
port.onDisconnect.addListener(() => {
+ ns.popupOpened = false;
if (pendingReload) {
browser.tabs.reload(tabId);
}