mirror of
https://github.com/kkapsner/CanvasBlocker
synced 2025-07-04 04:26:35 +02:00
Code linting.
This commit is contained in:
parent
cde71f8a62
commit
ef38abe545
24 changed files with 642 additions and 559 deletions
|
@ -1,4 +1,3 @@
|
|||
/* jslint moz: true */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
@ -25,7 +24,9 @@
|
|||
try {
|
||||
nodeName = context.nodeName;
|
||||
}
|
||||
catch (e){}
|
||||
catch (e){
|
||||
nodeName = "";
|
||||
}
|
||||
if (nodeName === "CANVAS"){
|
||||
canvas = context;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
/* global exports */
|
||||
/* jslint moz: true */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
@ -21,7 +19,6 @@
|
|||
// Translation
|
||||
var translate = require("sdk/l10n").get;
|
||||
var _ = function(name, replace, translateAPI){
|
||||
"use strict";
|
||||
if (!translateAPI){
|
||||
translateAPI = translate;
|
||||
}
|
||||
|
@ -38,8 +35,6 @@
|
|||
|
||||
// Stack parsing
|
||||
function parseStackEntry(entry){
|
||||
"use strict";
|
||||
|
||||
var m = /@(.*):(\d*):(\d*)$/.exec(entry) || ["", entry, "--", "--"];
|
||||
return {
|
||||
url: m[1],
|
||||
|
@ -67,8 +62,6 @@
|
|||
|
||||
// parse calling stack
|
||||
function parseErrorStack(errorStack){
|
||||
"use strict";
|
||||
|
||||
var callers = errorStack.trim().split("\n");
|
||||
var findme = callers.shift(); // Remove us from the stack
|
||||
findme = findme.replace(/(:[0-9]+){1,2}$/, ""); // rm line & column
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
/* global console,exports */
|
||||
/* jslint moz: true */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
@ -19,7 +17,6 @@
|
|||
const preferences = require("sdk/simple-prefs");
|
||||
const prefs = preferences.prefs;
|
||||
const {parseErrorStack} = require("./callingStack");
|
||||
const {URL} = require("sdk/url");
|
||||
const logging = require("./logging");
|
||||
|
||||
scope.check = function check({url, errorStack}){
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
/* jslint moz: true */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
@ -37,24 +36,24 @@
|
|||
color.count += 1;
|
||||
if (color.count > color.nextColor.count){
|
||||
// swap colors to remain in right order
|
||||
// a -> b -> c -> d becomes a -> c -> b -> d
|
||||
var a = color.previousColor;
|
||||
var b = color;
|
||||
// a_ -> b_ -> c -> d becomes a_ -> c -> b_ -> d
|
||||
var a_ = color.previousColor;
|
||||
var b_ = color;
|
||||
var c = color.nextColor;
|
||||
var d = color.nextColor.nextColor;
|
||||
|
||||
a.nextColor = c;
|
||||
c.previousColor = a;
|
||||
a_.nextColor = c;
|
||||
c.previousColor = a_;
|
||||
|
||||
c.nextColor = b;
|
||||
b.previousColor = c;
|
||||
c.nextColor = b_;
|
||||
b_.previousColor = c;
|
||||
|
||||
b.nextColor = d;
|
||||
d.previousColor = b;
|
||||
b_.nextColor = d;
|
||||
d.previousColor = b_;
|
||||
}
|
||||
}
|
||||
getMaxColors(n){
|
||||
var n = Math.min(n, this.numberOfColors);
|
||||
n = Math.min(n, this.numberOfColors);
|
||||
var colors = Object.create(null);
|
||||
var current = this.maxBoundary;
|
||||
for (;n && current;n -= 1){
|
||||
|
@ -76,5 +75,5 @@
|
|||
);
|
||||
}
|
||||
return statistic;
|
||||
}
|
||||
};
|
||||
}());
|
|
@ -1,6 +1,4 @@
|
|||
"use strict";
|
||||
|
||||
var settings = {
|
||||
const settings = {
|
||||
logLevel: 1,
|
||||
whiteList: "",
|
||||
blackList: "",
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
/* jslint moz: true */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
@ -136,7 +135,7 @@
|
|||
|
||||
interceptedWindows.set(window, true);
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
if (settings.isStillDefault){
|
||||
message("load settings");
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
/* jslint moz: true */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
@ -98,7 +97,7 @@
|
|||
errorStack: error.stack,
|
||||
messageId, timestamp: new Date(),
|
||||
functionName: name,
|
||||
dataURL:
|
||||
dataURL:
|
||||
prefs("storeImageForInspection") &&
|
||||
prefs("showNotifications")
|
||||
?
|
||||
|
|
12
lib/lists.js
12
lib/lists.js
|
@ -1,4 +1,3 @@
|
|||
/* jslint moz: true */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
@ -21,8 +20,6 @@
|
|||
|
||||
|
||||
function getDomainRegExpList(domainList){
|
||||
"use strict";
|
||||
|
||||
var list = domainList
|
||||
.split(",")
|
||||
.map(function(entry){
|
||||
|
@ -35,7 +32,7 @@
|
|||
var regExp;
|
||||
var domain = !!entry.match(/^[\w.]+$/);
|
||||
if (domain){
|
||||
regExp = new RegExp("(?:^|\\.)" + entry.replace(/([\\\+\*\?\[\^\]\$\(\)\{\}\=\!\|\.])/g, "\\$1") + "\\.?$", "i");
|
||||
regExp = new RegExp("(?:^|\\.)" + entry.replace(/([\\+*?[^\]$(){}=!|.])/g, "\\$1") + "\\.?$", "i");
|
||||
}
|
||||
else {
|
||||
regExp = new RegExp(entry, "i");
|
||||
|
@ -68,15 +65,12 @@
|
|||
};
|
||||
|
||||
function updateList(type, value){
|
||||
"use strict";
|
||||
if (typeof value === "undefined"){
|
||||
value = prefs[type + "List"];
|
||||
}
|
||||
lists[type] = getDomainRegExpList(value);
|
||||
}
|
||||
Object.keys(lists).forEach(function(type){
|
||||
"use strict";
|
||||
|
||||
preferences.on(type + "List", function(value){
|
||||
updateList(type, value);
|
||||
});
|
||||
|
@ -111,13 +105,9 @@
|
|||
updateStackList(prefs.stackList);
|
||||
|
||||
scope.get = function getList(type){
|
||||
"use strict";
|
||||
|
||||
return lists[type];
|
||||
};
|
||||
scope.appendTo = function appendToList(type, entry){
|
||||
"use strict";
|
||||
|
||||
prefs[type + "List"] += (prefs[type + "List"]? ",": "") + entry;
|
||||
var obj = {};
|
||||
obj[type + "List"] = prefs[type + "List"];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* jslint moz: true */
|
||||
/* eslint no-console: off */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
@ -45,9 +45,9 @@
|
|||
leftPad(date.getDate(), "0", 2) + " " +
|
||||
leftPad(date.getHours(), "0", 2) + ":" +
|
||||
leftPad(date.getMinutes(), "0", 2) + ":" +
|
||||
leftPad(date.getSeconds(), "0", 2) + "." +
|
||||
leftPad(date.getSeconds(), "0", 2) + "." +
|
||||
leftPad(date.getMilliseconds(), "0", 3) +
|
||||
"]"
|
||||
"]";
|
||||
if (typeof args[0] === "string"){
|
||||
args[0] = pre + " " + args[0];
|
||||
}
|
||||
|
|
11
lib/main.js
11
lib/main.js
|
@ -1,4 +1,3 @@
|
|||
/* jslint moz: true */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
@ -32,13 +31,17 @@
|
|||
if (
|
||||
Array.isArray(value) &&
|
||||
value.length === 128 &&
|
||||
value.every(function(value){return typeof value === "number" && value >= 0 && value < 256;})
|
||||
value.every(function(value){
|
||||
return typeof value === "number" && value >= 0 && value < 256;
|
||||
})
|
||||
){
|
||||
persistentRnd[domain] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(e){}
|
||||
catch(e){
|
||||
// JSON is not valid -> ignore it
|
||||
}
|
||||
|
||||
function updateContentScripts(){
|
||||
message("update content scripts");
|
||||
|
@ -101,7 +104,7 @@
|
|||
){
|
||||
browser.pageAction.show(port.sender.tab.id);
|
||||
}
|
||||
})
|
||||
});
|
||||
verbose("got data", data, "from port", port);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
/* jslint moz: true */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
@ -18,8 +17,6 @@
|
|||
const logging = require("./logging");
|
||||
const {copyCanvasToWebgl} = require("./webgl");
|
||||
|
||||
// let Cu = require("chrome").Cu;
|
||||
|
||||
var randomSupply = null;
|
||||
|
||||
function getContext(window, canvas){
|
||||
|
@ -82,9 +79,9 @@
|
|||
var fakeAlphaChannel = prefs("fakeAlphaChannel");
|
||||
for (var i = 0; i < l; i += 4){
|
||||
var [r, g, b, a] = rng(
|
||||
source[i + 0],
|
||||
source[i + 1],
|
||||
source[i + 2],
|
||||
source[i + 0],
|
||||
source[i + 1],
|
||||
source[i + 2],
|
||||
source[i + 3],
|
||||
i / 4
|
||||
);
|
||||
|
@ -134,7 +131,7 @@
|
|||
return size > minSize & size <= maxSize;
|
||||
}
|
||||
else {
|
||||
return true
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -156,7 +153,7 @@
|
|||
mode: "allow",
|
||||
type: status.type,
|
||||
active: false
|
||||
}
|
||||
};
|
||||
}
|
||||
else if (hasType(status, "context") || hasType(status, "input")){
|
||||
return {
|
||||
|
@ -166,7 +163,7 @@
|
|||
};
|
||||
}
|
||||
else {
|
||||
var status = Object.create(status);
|
||||
status = Object.create(status);
|
||||
status.active = false;
|
||||
return status;
|
||||
}
|
||||
|
@ -182,7 +179,7 @@
|
|||
toDataURL: {
|
||||
type: "readout",
|
||||
getStatus: function(obj, status){
|
||||
var status = Object.create(status);
|
||||
status = Object.create(status);
|
||||
if (hasType(status, "input")){
|
||||
var contextType = canvasContextType.get(obj);
|
||||
status.active = contextType !== "2d";
|
||||
|
@ -208,7 +205,7 @@
|
|||
toBlob: {
|
||||
type: "readout",
|
||||
getStatus: function(obj, status){
|
||||
var status = Object.create(status);
|
||||
status = Object.create(status);
|
||||
if (hasType(status, "input")){
|
||||
var contextType = canvasContextType.get(obj);
|
||||
status.active = contextType !== "2d";
|
||||
|
@ -235,7 +232,7 @@
|
|||
mozGetAsFile: {
|
||||
type: "readout",
|
||||
getStatus: function(obj, status){
|
||||
var status = Object.create(status);
|
||||
status = Object.create(status);
|
||||
if (hasType(status, "input")){
|
||||
var contextType = canvasContextType.get(obj);
|
||||
status.active = contextType !== "2d";
|
||||
|
@ -261,7 +258,7 @@
|
|||
getImageData: {
|
||||
type: "readout",
|
||||
getStatus: function(obj, status){
|
||||
var status = Object.create(status);
|
||||
status = Object.create(status);
|
||||
if (hasType(status, "input")){
|
||||
var contextType = canvasContextType.get(obj && obj.canvas);
|
||||
status.active = contextType !== "2d";
|
||||
|
@ -298,7 +295,7 @@
|
|||
fillText: {
|
||||
type: "input",
|
||||
getStatus: function(obj, status){
|
||||
var status = Object.create(status);
|
||||
status = Object.create(status);
|
||||
status.active = hasType(status, "input");
|
||||
return status;
|
||||
},
|
||||
|
@ -312,7 +309,9 @@
|
|||
// "this" is not trustable - it may be not a context
|
||||
oldImageData = getImageData(window, this).imageData;
|
||||
}
|
||||
catch (e){}
|
||||
catch (e){
|
||||
// nothing to do here
|
||||
}
|
||||
// if "this" is not a correct context the next line will throw an error
|
||||
var ret = original.apply(this, window.Array.from(arguments));
|
||||
var newImageData = getImageData(window, this).imageData;
|
||||
|
@ -328,7 +327,7 @@
|
|||
strokeText: {
|
||||
type: "input",
|
||||
getStatus: function(obj, status){
|
||||
var status = Object.create(status);
|
||||
status = Object.create(status);
|
||||
status.active = hasType(status, "input");
|
||||
return status;
|
||||
},
|
||||
|
@ -342,7 +341,9 @@
|
|||
// "this" is not trustable - it may be not a context
|
||||
oldImageData = getImageData(window, this).imageData;
|
||||
}
|
||||
catch (e){}
|
||||
catch (e){
|
||||
// nothing to do here
|
||||
}
|
||||
// if "this" is not a correct context the next line will throw an error
|
||||
var ret = original.apply(this, window.Array.from(arguments));
|
||||
var newImageData = getImageData(window, this).imageData;
|
||||
|
@ -358,7 +359,7 @@
|
|||
readPixels: {
|
||||
type: "readout",
|
||||
getStatus: function(obj, status){
|
||||
var status = Object.create(status);
|
||||
status = Object.create(status);
|
||||
status.active = hasType(status, "readout") || hasType(status, "input");
|
||||
return status;
|
||||
},
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
/* jslint moz: true, bitwise: true */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
@ -48,7 +47,7 @@
|
|||
browser.runtime.sendMessage({"canvasBlocker-new-domain-rnd": {domain, rnd: Array.from(persistentRnd[domain])}});
|
||||
}
|
||||
return persistentRnd[domain];
|
||||
}
|
||||
};
|
||||
}());
|
||||
scope.persistent = {
|
||||
name: "persistent",
|
||||
|
@ -88,7 +87,7 @@
|
|||
rng(b, baseIndex + 2),
|
||||
rng(a, baseIndex + 3)
|
||||
];
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -160,7 +159,7 @@
|
|||
rng(b, baseIndex + 2),
|
||||
rng(a, baseIndex + 3)
|
||||
];
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
}());
|
||||
}());
|
|
@ -1,5 +1,11 @@
|
|||
/* global settings exportFunction */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
window.scope = {};
|
||||
function require(module){
|
||||
"use strict";
|
||||
if (module.startsWith("./")){
|
||||
var scopeName = module.substr(2).replace(/\..+/, "");
|
||||
return window.scope[scopeName];
|
||||
|
@ -21,22 +27,21 @@ function require(module){
|
|||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
else if (module === "sdk/l10n"){
|
||||
return {
|
||||
get: function(key){
|
||||
return browser.i18n.getMessage(key);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
else if (module === "sdk/url"){
|
||||
return {
|
||||
URL
|
||||
}
|
||||
};
|
||||
}
|
||||
console.error("Not able to get non relative modules!", module);
|
||||
return undefined;
|
||||
throw new ReferenceError("Unable to get non relative module " + module + "!");
|
||||
}
|
||||
|
||||
window.scope.require = require;
|
|
@ -1,4 +1,3 @@
|
|||
/* jslint moz: true */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
@ -44,8 +43,8 @@
|
|||
}
|
||||
context.attachShader(program, shader);
|
||||
|
||||
var shader = context.createShader(context.FRAGMENT_SHADER);
|
||||
var fragmenter = "precision mediump float;\nuniform sampler2D u_image;\nvarying vec2 v_texCoord;\nvoid main(){\n\tgl_FragColor = texture2D(u_image, v_texCoord);\n}"
|
||||
shader = context.createShader(context.FRAGMENT_SHADER);
|
||||
var fragmenter = "precision mediump float;\nuniform sampler2D u_image;\nvarying vec2 v_texCoord;\nvoid main(){\n\tgl_FragColor = texture2D(u_image, v_texCoord);\n}";
|
||||
context.shaderSource(shader, fragmenter);
|
||||
context.compileShader(shader);
|
||||
success = context.getShaderParameter(shader, context.COMPILE_STATUS);
|
||||
|
@ -112,9 +111,9 @@
|
|||
context.texImage2D(context.TEXTURE_2D, 0, context.RGBA, context.RGBA, context.UNSIGNED_BYTE, canvas);
|
||||
|
||||
var primitiveType = context.TRIANGLES;
|
||||
var offset = 0;
|
||||
var triangleOffset = 0;
|
||||
var count = 6;
|
||||
context.drawArrays(primitiveType, offset, count);
|
||||
context.drawArrays(primitiveType, triangleOffset, count);
|
||||
|
||||
return {webGlCanvas, context};
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue