From 753dbcf616ffb2b67b4ab07fd2d0cb916f3d5c2b Mon Sep 17 00:00:00 2001 From: kkapsner Date: Mon, 26 Dec 2016 11:25:43 +0100 Subject: [PATCH] Added Numbers in pageAction icon and added content script. --- .gitignore | 3 +- webextension/background.js | 57 ++++++++++++++++++++++++++----- webextension/contentScript.js | 8 +++++ webextension/icons/printed19.png | Bin 1133 -> 1125 bytes webextension/icons/printed38.png | Bin 3147 -> 3766 bytes webextension/manifest.json | 7 ++++ 6 files changed, 66 insertions(+), 9 deletions(-) create mode 100644 webextension/contentScript.js diff --git a/.gitignore b/.gitignore index 6131751..27187e7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -*.svg \ No newline at end of file +*.svg +printed.png \ No newline at end of file diff --git a/webextension/background.js b/webextension/background.js index 451e6fc..405330c 100644 --- a/webextension/background.js +++ b/webextension/background.js @@ -1,16 +1,57 @@ -console.log("background"); +var getPageActionIcon = function(){ + var faktor = 2; + var canvas = document.createElement("canvas"); + canvas.width = canvas.height = 19 * faktor; + var context = canvas.getContext("2d"); + var img = document.createElement("img"); + img.src = "icons/printed" + (19 * faktor) + ".png" + + + return function getPageActionIcon(c){ + context.clearRect(0, 0, canvas.width, canvas.height); + context.drawImage(img, 0, 0, canvas.width, canvas.height); + if (c > 1){ + context.fillStyle = "#000000"; + context.fillRect(9 * faktor, 9 * faktor, 10 * faktor, 10 * faktor); + context.strokeStyle = context.fillStyle = "#FFFFFF"; + context.textAlign = "center"; + context.textBaseline = "middle"; + context.font = "Bold " + (10 * faktor) + "px Arial"; + context.fillText(c < 10? c: ">", 14 * faktor, 15 * faktor); + } + return context.getImageData(0, 0, canvas.width, canvas.height); + } +}(); + +function updatePageActionIcon(tabId, c){ + if (c === 0){ + browser.pageAction.hide(tabId); + } + else { + browser.pageAction.show(tabId); + browser.pageAction.setIcon({ + tabId: tabId, + imageData: getPageActionIcon(c) + }); + } +} + +var c = 0; + browser.tabs.query({}).then(function(tabs){ - console.log("tabs", tabs); tabs.forEach(function(tab){ - console.log("tab", tab); - browser.pageAction.show(tab.id).then(function(){console.log("success");}, function(){console.log("error");}); + browser.pageAction.show(tab.id); }); }); -browser.tabs.onActivated.addListener(function(tab){ - browser.pageAction.show(tab.id); +browser.tabs.onActivated.addListener(function(activeInfo){ + c += 1; + // console.log(c); + updatePageActionIcon(activeInfo.tabId , c); }); -browser.tabs.onUpdate.addistener(function(tab){ - browser.pageAction.show(tab.id); +browser.tabs.onUpdated.addListener(function(tabId){ + // c += 1; + //console.log(c); + // updatePageActionIcon(tabId, c); }); \ No newline at end of file diff --git a/webextension/contentScript.js b/webextension/contentScript.js new file mode 100644 index 0000000..8589882 --- /dev/null +++ b/webextension/contentScript.js @@ -0,0 +1,8 @@ +var oldAlert = alert; +exportFunction( + function(str){ + oldAlert("From page script: " + str); + }, + window, + {defineAs:'alert'} +); \ No newline at end of file diff --git a/webextension/icons/printed19.png b/webextension/icons/printed19.png index 7ec5cf45470dd72ffd20e517ce2b46adf63aa5df..47f97c0d7246111124e4cd080e15f720e92900eb 100644 GIT binary patch delta 1079 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"], + "js": ["contentScript.js"], + "run_at": "document_start" + } + ], "applications": { "gecko": {