1
0
mirror of https://github.com/kkapsner/CanvasBlocker synced 2025-04-18 08:08:28 +02:00

First notification steps - NOT FUNCTIONAL!

This commit is contained in:
kkapsner 2015-04-14 01:26:04 +02:00
parent 4bcdfb9fb7
commit 0a88d47609
3 changed files with 57 additions and 3 deletions

View File

@ -10,6 +10,7 @@
}; };
var blockMode = { var blockMode = {
getContext: { getContext: {
name: "getContext",
status: "block", status: "block",
askText: { askText: {
visible: "askForVisiblePermission", visible: "askForVisiblePermission",
@ -23,6 +24,7 @@
} }
}, },
readAPI: { readAPI: {
name: "readAPI",
status: "allow", status: "allow",
askText: { askText: {
visible: "askForVisibleReadoutPermission", visible: "askForVisibleReadoutPermission",
@ -196,6 +198,7 @@
appearance.reset(); appearance.reset();
} }
} }
self.port.emit("accessed " + changedFunction.mode.name, status);
switch (status){ switch (status){
case "allow": case "allow":
return original; return original;
@ -242,7 +245,7 @@
// Communication with main.js // Communication with main.js
function checkAbout(){ function checkAbout(){
return document.location.protocol === "about:"); return document.location.protocol === "about:";
} }
function checkPDF(blocking){ function checkPDF(blocking){

View File

@ -48,6 +48,7 @@
var pageMod = require("sdk/page-mod"); var pageMod = require("sdk/page-mod");
var array = require("sdk/util/array"); var array = require("sdk/util/array");
var preferences = require("sdk/simple-prefs"); var preferences = require("sdk/simple-prefs");
var prefService = require("sdk/preferences/service");
var prefs = preferences.prefs; var prefs = preferences.prefs;
var URL = require("sdk/url").URL; var URL = require("sdk/url").URL;
var _ = require("sdk/l10n").get; var _ = require("sdk/l10n").get;
@ -87,7 +88,7 @@
}); });
function checkURL(url){ function checkURL(url){
var url = new URL(url); url = new URL(url);
var mode = "block"; var mode = "block";
switch (prefs.blockMode){ switch (prefs.blockMode){
case "blockEverything": case "blockEverything":
@ -180,6 +181,56 @@
}); });
checkWorker(worker); checkWorker(worker);
// display notifications
worker.port.on("accessed readAPI", function(status){
switch (status){
case "fake":
var contentURL = new URL(worker.contentURL);
var url = contentURL.href;
var domain = contentURL.hostname;
var message = "Faked readout on " + url;
var notifyBox = gWindow.getNotificationBox();
var notification = notifiyBox.getNotificationBoxWithValue("fake-readout");
if (notification){
notification.label = message;
}
else {
var buttons = [
{
label: 'whitelist URL',
callback: function(){
prefs.whiteList += "," + url;
prefService.set("extensions.CanvasBlocker@kkapsner.de.whiteList", prefs.whiteList);
updateWhiteList();
workers.forEach(checkWorker);
}
},
{
label: 'whitelist domain',
callback: function(){
prefs.whiteList += "," + domain;
prefService.set("extensions.CanvasBlocker@kkapsner.de.whiteList", prefs.whiteList);
updateWhiteList();
workers.forEach(checkWorker);
}
}
];
let priority = box.PRIORITY_WARNING_MEDIUM;
box.appendNotification(
message,
'fake-readout',
'chrome://browser/skin/Info.png',
priority,
buttons
);
}
break;
}
});
}, },
}); });

View File

@ -20,7 +20,7 @@
"name": "blockMode", "name": "blockMode",
"title": "block mode", "title": "block mode",
"type": "menulist", "type": "menulist",
"value": "askReadout", "value": "fakeReadout",
"options": [ "options": [
{ {
"value": "blockEverything", "value": "blockEverything",