From 25b0d400bec2eec9beae90663da96ba56d836936 Mon Sep 17 00:00:00 2001 From: kkapsner Date: Tue, 20 Dec 2016 23:55:45 +0100 Subject: [PATCH] First integration of the webextension. --- .jpmignore | 3 ++- lib/main.js | 6 ++++++ package.json | 1 + webextension/background.js | 16 +++++++++++++++ webextension/icons/printed19.png | Bin 0 -> 1133 bytes webextension/icons/printed38.png | Bin 0 -> 3147 bytes webextension/manifest.json | 30 +++++++++++++++++++++++++++++ webextension/pageAction/index.html | 11 +++++++++++ webextension/pageAction/index.js | 3 +++ 9 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 webextension/background.js create mode 100644 webextension/icons/printed19.png create mode 100644 webextension/icons/printed38.png create mode 100644 webextension/manifest.json create mode 100644 webextension/pageAction/index.html create mode 100644 webextension/pageAction/index.js diff --git a/.jpmignore b/.jpmignore index ad0fd14..8abd659 100644 --- a/.jpmignore +++ b/.jpmignore @@ -8,4 +8,5 @@ *.md test/ addon description/ -doc/ \ No newline at end of file +doc/ +!webextension/icons/* \ No newline at end of file diff --git a/lib/main.js b/lib/main.js index 7a06838..28b0eac 100644 --- a/lib/main.js +++ b/lib/main.js @@ -16,6 +16,12 @@ const preferences = require("sdk/simple-prefs"); const prefService = require("sdk/preferences/service"); const prefs = preferences.prefs; + const webExtension = require("sdk/webextension"); + webExtension.startup().then(function(api){ + const {browser} = api; + // browser.runtime.onMessage.addListener(handleMessage); + } + ); const notificationPref = { doShow: function(){ diff --git a/package.json b/package.json index f17e483..0b25859 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "keywords": "privacy, canvas, fingerprinting", "description": "Changes the JS-API for modifying to prevent Canvas-Fingerprinting.", "homepage": "https://github.com/kkapsner/CanvasBlocker/", + "hasEmbeddedWebExtension": true, "preferences": [ { "name": "whiteList", diff --git a/webextension/background.js b/webextension/background.js new file mode 100644 index 0000000..451e6fc --- /dev/null +++ b/webextension/background.js @@ -0,0 +1,16 @@ +console.log("background"); +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.tabs.onActivated.addListener(function(tab){ + browser.pageAction.show(tab.id); +}); +browser.tabs.onUpdate.addistener(function(tab){ + browser.pageAction.show(tab.id); +}); + \ No newline at end of file diff --git a/webextension/icons/printed19.png b/webextension/icons/printed19.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec5cf45470dd72ffd20e517ce2b46adf63aa5df GIT binary patch literal 1133 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 literal 0 HcmV?d00001 diff --git a/webextension/manifest.json b/webextension/manifest.json new file mode 100644 index 0000000..a5383be --- /dev/null +++ b/webextension/manifest.json @@ -0,0 +1,30 @@ +{ + "background": { + "scripts": ["background.js"] + }, + "permissions": [ + "activeTab", + "tabs" + ], + "page_action": { + "browser_style": true, + "default_icon": { + "19": "icons/printed19.png", + "38": "icons/printed38.png" + }, + "default_popup": "pageAction/index.html" + }, + + "applications": { + "gecko": { + "id": "CanvasBlocker-WebExtension@kkapsner.de", + "strict_min_version": "51.0", + "strict_max_version": "60.*" + } + }, + + "description": "Embeded WebExtension for the CanvasBlocker.", + "name": "CanvasBlocker-WebExtension", + "version": "1.0", + "manifest_version": 2 +} \ No newline at end of file diff --git a/webextension/pageAction/index.html b/webextension/pageAction/index.html new file mode 100644 index 0000000..d1b790d --- /dev/null +++ b/webextension/pageAction/index.html @@ -0,0 +1,11 @@ + + + + Fingerprinted + + +

Test

+ How does this display? + + + \ No newline at end of file diff --git a/webextension/pageAction/index.js b/webextension/pageAction/index.js new file mode 100644 index 0000000..1ebe954 --- /dev/null +++ b/webextension/pageAction/index.js @@ -0,0 +1,3 @@ +(function(){ + document.body.appendChild(document.createTextElement("JS generated!")); +}()); \ No newline at end of file