mirror of
https://github.com/kkapsner/CanvasBlocker
synced 2025-07-04 04:26:35 +02:00
parent
9711c67c3f
commit
26529a3653
6 changed files with 375 additions and 281 deletions
|
@ -16,6 +16,7 @@
|
|||
const logging = require("./logging");
|
||||
const {sha256String: hashing} = require("./hash");
|
||||
const getWrapped = require("sdk/getWrapped");
|
||||
const {hasType, checkerWrapper} = require("./modifiedAPIFunctions");
|
||||
|
||||
var randomSupply = null;
|
||||
|
||||
|
@ -143,10 +144,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
function hasType(status, type){
|
||||
return status.type.indexOf(type) !== -1;
|
||||
}
|
||||
|
||||
scope.setRandomSupply = function(supply){
|
||||
randomSupply = supply;
|
||||
};
|
||||
|
@ -168,79 +165,100 @@
|
|||
scope.changedFunctions = {
|
||||
getFloatFrequencyData: {
|
||||
object: ["AnalyserNode"],
|
||||
fakeGenerator: function(prefs, notify, window, original){
|
||||
fakeGenerator: function(checker){
|
||||
return function getFloatFrequencyData(array){
|
||||
notifyOnce("getFloatFrequencyData", notify);
|
||||
var ret = original.apply(this, window.Array.from(arguments));
|
||||
fakeFloat32Array(array, window, prefs);
|
||||
return ret;
|
||||
return checkerWrapper(checker, this, arguments, function(args, check){
|
||||
var {prefs, notify, window, original} = check;
|
||||
notifyOnce("getFloatFrequencyData", notify);
|
||||
var ret = original.apply(this, window.Array.from(args));
|
||||
fakeFloat32Array(array, window, prefs);
|
||||
return ret;
|
||||
});
|
||||
};
|
||||
}
|
||||
},
|
||||
getByteFrequencyData: {
|
||||
object: ["AnalyserNode"],
|
||||
fakeGenerator: function(prefs, notify, window, original){
|
||||
fakeGenerator: function(checker){
|
||||
return function getByteFrequencyData(array){
|
||||
notifyOnce("getByteFrequencyData", notify);
|
||||
var ret = original.apply(this, window.Array.from(arguments));
|
||||
fakeUint8Array(array, window, prefs);
|
||||
return ret;
|
||||
return checkerWrapper(checker, this, arguments, function(args, check){
|
||||
var {prefs, notify, window, original} = check;
|
||||
notifyOnce("getByteFrequencyData", notify);
|
||||
var ret = original.apply(this, window.Array.from(args));
|
||||
fakeUint8Array(array, window, prefs);
|
||||
return ret;
|
||||
});
|
||||
};
|
||||
}
|
||||
},
|
||||
getFloatTimeDomainData: {
|
||||
object: ["AnalyserNode"],
|
||||
fakeGenerator: function(prefs, notify, window, original){
|
||||
fakeGenerator: function(checker){
|
||||
return function getFloatTimeDomainData(array){
|
||||
notifyOnce("getFloatTimeDomainData", notify);
|
||||
var ret = original.apply(this, window.Array.from(arguments));
|
||||
fakeFloat32Array(array, window, prefs);
|
||||
return ret;
|
||||
return checkerWrapper(checker, this, arguments, function(args, check){
|
||||
var {prefs, notify, window, original} = check;
|
||||
notifyOnce("getFloatTimeDomainData", notify);
|
||||
var ret = original.apply(this, window.Array.from(args));
|
||||
fakeFloat32Array(array, window, prefs);
|
||||
return ret;
|
||||
});
|
||||
};
|
||||
}
|
||||
},
|
||||
getByteTimeDomainData: {
|
||||
object: ["AnalyserNode"],
|
||||
fakeGenerator: function(prefs, notify, window, original){
|
||||
fakeGenerator: function(checker){
|
||||
return function getByteTimeDomainData(array){
|
||||
notifyOnce("getByteTimeDomainData", notify);
|
||||
var ret = original.apply(this, window.Array.from(arguments));
|
||||
fakeUint8Array(array, window, prefs);
|
||||
return ret;
|
||||
return checkerWrapper(checker, this, arguments, function(args, check){
|
||||
var {prefs, notify, window, original} = check;
|
||||
notifyOnce("getByteTimeDomainData", notify);
|
||||
var ret = original.apply(this, window.Array.from(args));
|
||||
fakeUint8Array(array, window, prefs);
|
||||
return ret;
|
||||
});
|
||||
};
|
||||
}
|
||||
},
|
||||
getChannelData: {
|
||||
object: ["AudioBuffer"],
|
||||
fakeGenerator: function(prefs, notify, window, original){
|
||||
fakeGenerator: function(checker){
|
||||
return function getChannelData(channel){
|
||||
notifyOnce("getChannelData", notify);
|
||||
var ret = original.apply(this, window.Array.from(arguments));
|
||||
fakeFloat32Array(ret, window, prefs);
|
||||
return ret;
|
||||
return checkerWrapper(checker, this, arguments, function(args, check){
|
||||
var {prefs, notify, window, original} = check;
|
||||
notifyOnce("getChannelData", notify);
|
||||
var ret = original.apply(this, window.Array.from(args));
|
||||
fakeFloat32Array(ret, window, prefs);
|
||||
return ret;
|
||||
});
|
||||
};
|
||||
}
|
||||
},
|
||||
copyFromChannel: {
|
||||
object: ["AudioBuffer"],
|
||||
fakeGenerator: function(prefs, notify, window, original){
|
||||
fakeGenerator: function(checker){
|
||||
return function copyFromChannel(destination, channelNumber, startInChannel){
|
||||
notifyOnce("copyFromChannel", notify);
|
||||
var ret = original.apply(this, window.Array.from(arguments));
|
||||
fakeFloat32Array(destination, window, prefs);
|
||||
return ret;
|
||||
return checkerWrapper(checker, this, arguments, function(args, check){
|
||||
var {prefs, notify, window, original} = check;
|
||||
notifyOnce("copyFromChannel", notify);
|
||||
var ret = original.apply(this, window.Array.from(args));
|
||||
fakeFloat32Array(destination, window, prefs);
|
||||
return ret;
|
||||
});
|
||||
};
|
||||
}
|
||||
},
|
||||
getFrequencyResponse: {
|
||||
object: ["BiquadFilterNode", "IIRFilterNode"],
|
||||
fakeGenerator: function(prefs, notify, window, original){
|
||||
fakeGenerator: function(checker){
|
||||
return function getFrequencyResponse(frequencyArray, magResponseOutput, phaseResponseOutput){
|
||||
notifyOnce("getFrequencyResponse", notify);
|
||||
var ret = original.apply(this, window.Array.from(arguments));
|
||||
fakeFloat32Array(magResponseOutput, window, prefs);
|
||||
fakeFloat32Array(phaseResponseOutput, window, prefs);
|
||||
return ret;
|
||||
return checkerWrapper(checker, this, arguments, function(args, check){
|
||||
var {prefs, notify, window, original} = check;
|
||||
notifyOnce("getFrequencyResponse", notify);
|
||||
var ret = original.apply(this, window.Array.from(args));
|
||||
fakeFloat32Array(magResponseOutput, window, prefs);
|
||||
fakeFloat32Array(phaseResponseOutput, window, prefs);
|
||||
return ret;
|
||||
});
|
||||
};
|
||||
}
|
||||
},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue