| /* Enables the page action (i.e., the browser toolbar icon). | |||||
| */ | |||||
| chrome.runtime.onInstalled.addListener(() => { | |||||
| chrome.declarativeContent.onPageChanged.removeRules(undefined, () => { | |||||
| chrome.declarativeContent.onPageChanged.addRules([{ | |||||
| conditions: [ new chrome.declarativeContent.PageStateMatcher({ | |||||
| pageUrl: { schemes: [ 'http', 'https' ] }, | |||||
| }) | |||||
| ], actions: [ new chrome.declarativeContent.ShowPageAction() ] | |||||
| }]); | |||||
| }); | |||||
| }); | |||||
| /* Toggle the toolbar icon based on whether stickies are, or are not, set to | |||||
| be killed on the current tab. | |||||
| This listener receives a message from the content script (contentScript.js); | |||||
| the content script actually determines what the settings for the current | |||||
| tab are. | |||||
| */ | |||||
| chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { | |||||
| let icons = request.killingStickies ? { | |||||
| "16": "images/ASK_on_16.png", | |||||
| "32": "images/ASK_on_32.png", | |||||
| "48": "images/ASK_on_48.png", | |||||
| "128": "images/ASK_on_128.png" | |||||
| } : { | |||||
| "16": "images/ASK_off_16.png", | |||||
| "32": "images/ASK_off_32.png", | |||||
| "48": "images/ASK_off_48.png", | |||||
| "128": "images/ASK_off_128.png" | |||||
| }; | |||||
| chrome.pageAction.setIcon({ | |||||
| path: icons, | |||||
| tabId: request.tabID || sender.tab.id | |||||
| }); | |||||
| }); |