mirror of
https://github.com/kkapsner/CanvasBlocker
synced 2025-07-04 20:46:39 +02:00
Remove code duplications and cleanup
This commit is contained in:
parent
8e414becf0
commit
32f9ea7447
9 changed files with 58 additions and 117 deletions
|
@ -12,7 +12,7 @@
|
|||
scope = require.register("./modifiedDOMRectAPI", {});
|
||||
}
|
||||
|
||||
const {getWrapped, checkerWrapper, setProperties: setProperties} = require("./modifiedAPIFunctions");
|
||||
const {getWrapped, checkerWrapper, setProperties, getStatusByFlag} = require("./modifiedAPIFunctions");
|
||||
const {byteArrayToString: hash} = require("./hash");
|
||||
|
||||
|
||||
|
@ -87,6 +87,15 @@
|
|||
return cached;
|
||||
}
|
||||
|
||||
function registerCallback(args, check){
|
||||
const {prefs, notify, window, original} = check;
|
||||
const originalValue = args.length?
|
||||
original.apply(this, window.Array.from(args)):
|
||||
original.call(this);
|
||||
registerDOMRect(originalValue, notify, window, prefs);
|
||||
return originalValue;
|
||||
}
|
||||
|
||||
scope.changedFunctions = {
|
||||
getClientRects: {
|
||||
object: ["Range", "Element"],
|
||||
|
@ -107,12 +116,7 @@
|
|||
object: ["Range", "Element"],
|
||||
fakeGenerator: function(checker){
|
||||
return function getBoundingClientRect(){
|
||||
return checkerWrapper(checker, this, arguments, function(args, check){
|
||||
const {prefs, notify, window, original} = check;
|
||||
const ret = args.length? original.apply(this, window.Array.from(args)): original.call(this);
|
||||
registerDOMRect(ret, notify, window, prefs);
|
||||
return ret;
|
||||
});
|
||||
return checkerWrapper(checker, this, arguments, registerCallback);
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -121,12 +125,7 @@
|
|||
object: ["DOMQuad"],
|
||||
fakeGenerator: function(checker){
|
||||
return function getBounds(){
|
||||
return checkerWrapper(checker, this, arguments, function(args, check){
|
||||
const {prefs, notify, window, original} = check;
|
||||
const ret = args.length? original.apply(this, window.Array.from(args)): original.call(this);
|
||||
registerDOMRect(ret, notify, window, prefs);
|
||||
return ret;
|
||||
});
|
||||
return checkerWrapper(checker, this, arguments, registerCallback);
|
||||
};
|
||||
}
|
||||
},
|
||||
|
@ -134,25 +133,15 @@
|
|||
object: ["SVGGraphicsElement"],
|
||||
fakeGenerator: function(checker){
|
||||
return function getBBox(){
|
||||
return checkerWrapper(checker, this, arguments, function(args, check){
|
||||
const {prefs, notify, window, original} = check;
|
||||
const ret = args.length? original.apply(this, window.Array.from(args)): original.call(this);
|
||||
registerDOMRect(ret, notify, window, prefs);
|
||||
return ret;
|
||||
});
|
||||
return checkerWrapper(checker, this, arguments, registerCallback);
|
||||
};
|
||||
}
|
||||
},
|
||||
getExtentOfChar: {
|
||||
object: ["SVGTextContentElement"],
|
||||
fakeGenerator: function(checker){
|
||||
return function getBBox(){
|
||||
return checkerWrapper(checker, this, arguments, function(args, check){
|
||||
const {prefs, notify, window, original} = check;
|
||||
const ret = args.length? original.apply(this, window.Array.from(args)): original.call(this);
|
||||
registerDOMRect(ret, notify, window, prefs);
|
||||
return ret;
|
||||
});
|
||||
return function getExtentOfChar(){
|
||||
return checkerWrapper(checker, this, arguments, registerCallback);
|
||||
};
|
||||
}
|
||||
},
|
||||
|
@ -234,14 +223,7 @@
|
|||
getterGenerator: function(checker){
|
||||
const temp = {
|
||||
get intersectionRect(){
|
||||
return checkerWrapper(checker, this, arguments, function(args, check){
|
||||
const {prefs, notify, window, original} = check;
|
||||
const originalValue = args.length?
|
||||
original.apply(this, window.Array.from(args)):
|
||||
original.call(this);
|
||||
registerDOMRect(originalValue, notify, window, prefs);
|
||||
return originalValue;
|
||||
});
|
||||
return checkerWrapper(checker, this, arguments, registerCallback);
|
||||
}
|
||||
};
|
||||
return Object.getOwnPropertyDescriptor(temp, "intersectionRect").get;
|
||||
|
@ -257,14 +239,7 @@
|
|||
getterGenerator: function(checker){
|
||||
const temp = {
|
||||
get boundingClientRect(){
|
||||
return checkerWrapper(checker, this, arguments, function(args, check){
|
||||
const {prefs, notify, window, original} = check;
|
||||
const originalValue = args.length?
|
||||
original.apply(this, window.Array.from(args)):
|
||||
original.call(this);
|
||||
registerDOMRect(originalValue, notify, window, prefs);
|
||||
return originalValue;
|
||||
});
|
||||
return checkerWrapper(checker, this, arguments, registerCallback);
|
||||
}
|
||||
};
|
||||
return Object.getOwnPropertyDescriptor(temp, "boundingClientRect").get;
|
||||
|
@ -280,14 +255,7 @@
|
|||
getterGenerator: function(checker){
|
||||
const temp = {
|
||||
get rootBounds(){
|
||||
return checkerWrapper(checker, this, arguments, function(args, check){
|
||||
const {prefs, notify, window, original} = check;
|
||||
const originalValue = args.length?
|
||||
original.apply(this, window.Array.from(args)):
|
||||
original.call(this);
|
||||
registerDOMRect(originalValue, notify, window, prefs);
|
||||
return originalValue;
|
||||
});
|
||||
return checkerWrapper(checker, this, arguments, registerCallback);
|
||||
}
|
||||
};
|
||||
return Object.getOwnPropertyDescriptor(temp, "rootBounds").get;
|
||||
|
@ -295,15 +263,9 @@
|
|||
}
|
||||
];
|
||||
|
||||
function getStatus(obj, status, prefs){
|
||||
status = Object.create(status);
|
||||
status.active = prefs("protectDOMRect", status.url);
|
||||
return status;
|
||||
}
|
||||
|
||||
setProperties(scope.changedFunctions, scope.changedGetters, {
|
||||
type: "readout",
|
||||
getStatus: getStatus,
|
||||
getStatus: getStatusByFlag("protectDOMRect"),
|
||||
api: "domRect"
|
||||
});
|
||||
}());
|
Loading…
Add table
Add a link
Reference in a new issue