Browse Source

fix: tabId can be 0

tophf 5 years ago
parent
commit
35a3fa9270

+ 2 - 2
src/background/utils/notifications.js

@@ -19,14 +19,14 @@ Object.assign(commands, {
 
 browser.notifications.onClicked.addListener((id) => {
   const openerId = openers[id];
-  if (openerId) {
+  if (openerId >= 0) {
     sendTabCmd(openerId, 'NotificationClick', id);
   }
 });
 
 browser.notifications.onClosed.addListener((id) => {
   const openerId = openers[id];
-  if (openerId) {
+  if (openerId >= 0) {
     sendTabCmd(openerId, 'NotificationClose', id);
     delete openers[id];
   }

+ 2 - 2
src/background/utils/tabs.js

@@ -23,7 +23,7 @@ Object.assign(commands, {
   },
   TabClose({ id } = {}, src) {
     const tabId = id || src?.tab?.id;
-    if (tabId) browser.tabs.remove(tabId);
+    if (tabId >= 0) browser.tabs.remove(tabId);
   },
 });
 
@@ -38,7 +38,7 @@ ua.ready.then(() => {
 
 browser.tabs.onRemoved.addListener((id) => {
   const openerId = openers[id];
-  if (openerId) {
+  if (openerId >= 0) {
     sendTabCmd(openerId, 'TabClosed', id);
     delete openers[id];
   }

+ 2 - 2
src/background/utils/values.js

@@ -38,7 +38,7 @@ export function resetValueOpener(openerId) {
   if (scriptMap) {
     Object.keys(scriptMap).forEach((scriptId) => {
       const map = openers[scriptId];
-      if (map) delete map[openerId];
+      if (map >= 0) delete map[openerId];
     });
     delete tabScripts[openerId];
   }
@@ -53,7 +53,7 @@ export function addValueOpener(openerId, scriptIds) {
   scriptIds.forEach((scriptId) => {
     scriptMap[scriptId] = 1;
     let openerMap = openers[scriptId];
-    if (!openerMap) {
+    if (openerMap === undefined) {
       openerMap = {};
       openers[scriptId] = openerMap;
     }