1
0
mirror of https://github.com/kkapsner/CanvasBlocker synced 2025-05-25 09:13:27 +02:00

Some code cleanup and commenting.

This commit is contained in:
kkapsner 2015-06-18 14:54:09 +02:00
parent 9676f3f5b1
commit cc8ac1c22d
2 changed files with 26 additions and 20 deletions

Binary file not shown.

View File

@ -50,6 +50,18 @@
return bytes; return bytes;
}()); }());
// Stack parsing
function parseStackEntry(entry){
var m = /@(.*):(\d*):(\d*)$/.exec(entry) || ["", entry, "--", "--"];
return {
url: m[1],
line: m[2],
column: m[3],
raw: entry
};
}
// parse calling stack // parse calling stack
function errorToCallingStackMsg(error){ function errorToCallingStackMsg(error){
var msg = ""; var msg = "";
@ -126,7 +138,7 @@
}; };
} }
// changed functions // changed functions and their fakes
var changedFunctions = { var changedFunctions = {
getContext: { getContext: {
mode: blockMode.getContext, mode: blockMode.getContext,
@ -184,9 +196,17 @@
} }
}; };
// do the replacements
Object.keys(changedFunctions).forEach(function(name){ Object.keys(changedFunctions).forEach(function(name){
var changedFunction = changedFunctions[name]; var changedFunction = changedFunctions[name];
var original = changedFunction.object.prototype[name]; var original = changedFunction.object.prototype[name];
var fake = changedFunction.fake?
exportFunction(
changedFunction.fake,
unsafeWindow,
changedFunction.exportOptions
):
undef;
Object.defineProperty( Object.defineProperty(
changedFunction.object.prototype, changedFunction.object.prototype,
name, name,
@ -200,11 +220,11 @@
var askStatus = changedFunction.mode.askStatus; var askStatus = changedFunction.mode.askStatus;
var appearance = canvasAppearance(this); var appearance = canvasAppearance(this);
if (askStatus.askOnce && askStatus.alreadyAsked[appearance.askCategory]){ if (askStatus.askOnce && askStatus.alreadyAsked[appearance.askCategory]){
// console.log("already asked"); // already asked
status = askStatus.answer[appearance.askCategory]; status = askStatus.answer[appearance.askCategory];
} }
else { else {
//console.log("asking"); // asking
var msg = _(changedFunction.mode.askText[appearance.text]); var msg = _(changedFunction.mode.askText[appearance.text]);
if (settings.showCallingFile){ if (settings.showCallingFile){
msg += callingStackMsg; msg += callingStackMsg;
@ -212,7 +232,6 @@
status = window.confirm(msg) ? "allow": "block"; status = window.confirm(msg) ? "allow": "block";
askStatus.alreadyAsked[appearance.text] = true; askStatus.alreadyAsked[appearance.text] = true;
askStatus.answer[appearance.text] = status; askStatus.answer[appearance.text] = status;
//console.log("asking (done)");
appearance.reset(); appearance.reset();
} }
} }
@ -221,11 +240,7 @@
case "allow": case "allow":
return original; return original;
case "fake": case "fake":
return changedFunction.fake? exportFunction( return fake;
changedFunction.fake,
unsafeWindow,
changedFunction.exportOptions
): undef;
//case "block": //case "block":
default: default:
return undef; return undef;
@ -235,21 +250,11 @@
); );
}); });
// Stack parsing
function parseStackEntry(entry){
var m = /@(.*):(\d*):(\d*)$/.exec(entry) || ["", entry, "--", "--"];
return {
url: m[1],
line: m[2],
column: m[3],
raw: entry
};
}
// Translation // Translation
var _ = function(name, replace){ var _ = function(name, replace){
var str = self.options.translations[name] || name; var str = self.options.translations[name] || name;
if (replace){ if (replace){
// replace generic content in the transation by given parameter
Object.keys(replace).forEach(function(name){ Object.keys(replace).forEach(function(name){
str = str.replace(new RegExp("{" + name + "}", "g"), replace[name]); str = str.replace(new RegExp("{" + name + "}", "g"), replace[name]);
}); });
@ -299,6 +304,7 @@
}); });
}); });
// initial status setting
setStatus( setStatus(
checkURL( checkURL(
location, location,