mirror of
https://github.com/kkapsner/CanvasBlocker
synced 2025-01-03 10:31:54 +01:00
Always specify correct function names
This commit is contained in:
parent
29e61ada25
commit
e2efb727b9
@ -55,6 +55,17 @@
|
||||
return exportedTry;
|
||||
}
|
||||
else {
|
||||
if (func.name === name){
|
||||
logging.message(
|
||||
"FireFox bug: Need to change name in exportFunction from",
|
||||
exportedTry.name,
|
||||
"(originally correct) to",
|
||||
name
|
||||
);
|
||||
}
|
||||
else {
|
||||
logging.error("Wrong name specified for", name, new Error());
|
||||
}
|
||||
const wrappedContext = scope.getWrapped(context);
|
||||
const options = {
|
||||
allowCrossOriginArguments: true,
|
||||
|
@ -131,13 +131,15 @@
|
||||
protectionDefinition.methods.forEach(function(method){
|
||||
const descriptor = Object.getOwnPropertyDescriptor(object, method);
|
||||
const original = descriptor.value;
|
||||
changeProperty(object, method, "value", function method(){
|
||||
changeProperty(object, method, "value", class {
|
||||
[method](){
|
||||
const value = arguments.length?
|
||||
original.call(this, ...arguments):
|
||||
original.call(this);
|
||||
allCallback();
|
||||
return value;
|
||||
});
|
||||
}
|
||||
}.prototype[method]);
|
||||
});
|
||||
protectionDefinition.getters.forEach(function(property){
|
||||
const temp = {
|
||||
|
@ -143,13 +143,8 @@
|
||||
}
|
||||
|
||||
map.set(object, originalPropertyDescriptor);
|
||||
Object.defineProperty(
|
||||
object,
|
||||
name,
|
||||
{
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
get: extension.exportFunctionWithName(function(){
|
||||
const temp = class {
|
||||
[`get ${name}`](){
|
||||
if (forceLoad){
|
||||
logging.warning("force load the settings. Calling stack:", (new Error()).stack);
|
||||
undoPreIntercept();
|
||||
@ -175,8 +170,17 @@
|
||||
});
|
||||
return undef;
|
||||
}
|
||||
}, windowToProcess, `get ${name}`),
|
||||
set: extension.exportFunctionWithName(function(){}, windowToProcess, `set ${name}`)
|
||||
}
|
||||
[`set ${name}`](newValue){}
|
||||
}.prototype;
|
||||
Object.defineProperty(
|
||||
object,
|
||||
name,
|
||||
{
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
get: extension.exportFunctionWithName(temp[`get ${name}`], windowToProcess, `get ${name}`),
|
||||
set: extension.exportFunctionWithName(temp[`set ${name}`], windowToProcess, `set ${name}`)
|
||||
}
|
||||
);
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user