From 5886bb39b6ec7b871ad5c55fa6e50fe51caeac4e Mon Sep 17 00:00:00 2001 From: achmizs Date: Sat, 2 Feb 2019 17:05:59 -0500 Subject: [PATCH] Separated out disjoint resources by platform --- src/platform/chrome/background.js | 37 ++++++++++++++++++ .../chrome}/images/ASK_off_128.png | Bin .../chrome}/images/ASK_off_16.png | Bin .../chrome}/images/ASK_off_32.png | Bin .../chrome}/images/ASK_on_128.png | Bin .../chrome}/images/ASK_on_16.png | Bin .../chrome}/images/ASK_on_32.png | Bin src/platform/firefox/background.js | 33 ++++++++++++++++ src/platform/firefox/manifest.json | 10 ++--- 9 files changed, 73 insertions(+), 7 deletions(-) create mode 100644 src/platform/chrome/background.js rename src/{ => platform/chrome}/images/ASK_off_128.png (100%) rename src/{ => platform/chrome}/images/ASK_off_16.png (100%) rename src/{ => platform/chrome}/images/ASK_off_32.png (100%) rename src/{ => platform/chrome}/images/ASK_on_128.png (100%) rename src/{ => platform/chrome}/images/ASK_on_16.png (100%) rename src/{ => platform/chrome}/images/ASK_on_32.png (100%) create mode 100644 src/platform/firefox/background.js diff --git a/src/platform/chrome/background.js b/src/platform/chrome/background.js new file mode 100644 index 0000000..740c807 --- /dev/null +++ b/src/platform/chrome/background.js @@ -0,0 +1,37 @@ +/* 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 + }); +}); \ No newline at end of file diff --git a/src/images/ASK_off_128.png b/src/platform/chrome/images/ASK_off_128.png similarity index 100% rename from src/images/ASK_off_128.png rename to src/platform/chrome/images/ASK_off_128.png diff --git a/src/images/ASK_off_16.png b/src/platform/chrome/images/ASK_off_16.png similarity index 100% rename from src/images/ASK_off_16.png rename to src/platform/chrome/images/ASK_off_16.png diff --git a/src/images/ASK_off_32.png b/src/platform/chrome/images/ASK_off_32.png similarity index 100% rename from src/images/ASK_off_32.png rename to src/platform/chrome/images/ASK_off_32.png diff --git a/src/images/ASK_on_128.png b/src/platform/chrome/images/ASK_on_128.png similarity index 100% rename from src/images/ASK_on_128.png rename to src/platform/chrome/images/ASK_on_128.png diff --git a/src/images/ASK_on_16.png b/src/platform/chrome/images/ASK_on_16.png similarity index 100% rename from src/images/ASK_on_16.png rename to src/platform/chrome/images/ASK_on_16.png diff --git a/src/images/ASK_on_32.png b/src/platform/chrome/images/ASK_on_32.png similarity index 100% rename from src/images/ASK_on_32.png rename to src/platform/chrome/images/ASK_on_32.png diff --git a/src/platform/firefox/background.js b/src/platform/firefox/background.js new file mode 100644 index 0000000..2c41a03 --- /dev/null +++ b/src/platform/firefox/background.js @@ -0,0 +1,33 @@ +/* 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 ? { + "48": "images/ASK_on_48.png", + "96": "images/ASK_on_96.png", + } : { + "48": "images/ASK_off_48.png", + "96": "images/ASK_off_96.png", + }; + chrome.pageAction.setIcon({ + path: icons, + tabId: request.tabID || sender.tab.id + }); +}); \ No newline at end of file diff --git a/src/platform/firefox/manifest.json b/src/platform/firefox/manifest.json index 72f98bd..6c2dd83 100644 --- a/src/platform/firefox/manifest.json +++ b/src/platform/firefox/manifest.json @@ -25,17 +25,13 @@ "default_popup": "popup.html", "default_title": "AlwaysKillSticky - Click the icon to control sticky-killing on this site!", "default_icon": { - "16": "images/ASK_on_16.png", - "32": "images/ASK_on_32.png", - "48": "images/ASK_on_48.png", - "128": "images/ASK_on_128.png" + "48": "images/ASK_on_48.png", + "96": "images/ASK_on_96.png", } }, "icons": { - "16": "images/ASK_on_16.png", - "32": "images/ASK_on_32.png", "48": "images/ASK_on_48.png", - "128": "images/ASK_on_128.png" + "96": "images/ASK_on_96.png", }, "options_ui": { "page": "options.html",