-
Notifications
You must be signed in to change notification settings - Fork 6
/
background.js
39 lines (38 loc) · 1.05 KB
/
background.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
const pages = {
openedTabs: []
};
chrome.runtime.onMessage.addListener(
(message, sender, sendResponse) =>
{
if (message.type === "showPageAction")
{
chrome.pageAction?.show(sender.tab.id);
if (!pages.openedTabs.includes(sender.tab.id))
{
pages.openedTabs.push(sender.tab.id);
}
}
if (message.type === "pageClosed")
{
let closedTabId = -1;
pages.openedTabs.forEach(
(tabId) =>
{
chrome.tabs.sendMessage(tabId, {type: "ping"},
(reply) =>
{
if (!reply)
{
pages.openedTabs = pages.openedTabs.filter(id => id !== tabId);
}
}
);
}
);
}
if (message.type === "tabsRequest")
{
sendResponse(pages);
}
}
);