Related to AdguardTeam/AdguardFilters#232621
Steps to reproduce:
- Add to user rules:
example.org#%#//scriptlet('trusted-replace-argument', 'Promise', '0', 'noopPromiseResolve', 'isDetected')
- Navigate to https://example.org/
- In browser console run:
(async () => {
const checkAdblock = () => {
console.log('Checking for adblock...');
return new Promise((resolve) => {
// Set to true by default for demonstration purposes
const isDetected = true;
resolve(isDetected);
});
};
const init = async () => {
const [result] = await Promise.all([
checkAdblock(),
]);
if (result) {
console.log('Adblock detected');
return;
}
console.log('Load content');
}
await init();
console.log('Script loaded');
})();
With current solution only Checking for adblock... is printed in console (the same fornoopCallbackFunc, noopFunc, falseFunc).
Expected is:
Checking for adblock...
Load content
Script loaded
So, I think we could add functions which return callback with false/true, something like:
const falseCallbackFunc = (callback) => { callback(false); };
const trueCallbackFunc = (callback) => { callback(true); };
Related to AdguardTeam/AdguardFilters#232621
Steps to reproduce:
With current solution only
Checking for adblock...is printed in console (the same fornoopCallbackFunc,noopFunc,falseFunc).Expected is:
So, I think we could add functions which return callback with
false/true, something like: