mirror of
https://github.com/gorhill/uBlock.git
synced 2024-10-06 09:37:12 +02:00
Bring back ability to log all calls to JSON.parse
Related feedback: https://github.com/uBlockOrigin/uBlock-issues/discussions/3096
This commit is contained in:
parent
0df57e08d2
commit
8be8ac57a7
@ -427,7 +427,7 @@ function abortCurrentScriptCore(
|
|||||||
if ( debug === 'nomatch' || debug === 'all' ) { debugger; } // jshint ignore: line
|
if ( debug === 'nomatch' || debug === 'all' ) { debugger; } // jshint ignore: line
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ( safe.logLevel > 1 && e.src !== '' ) {
|
if ( safe.logLevel > 1 && context !== '' ) {
|
||||||
safe.uboLog(logPrefix, `Matched src\n${e.src}`);
|
safe.uboLog(logPrefix, `Matched src\n${e.src}`);
|
||||||
}
|
}
|
||||||
const scriptText = getScriptText(e);
|
const scriptText = getScriptText(e);
|
||||||
@ -1659,19 +1659,28 @@ function jsonPrune(
|
|||||||
stackNeedle = ''
|
stackNeedle = ''
|
||||||
) {
|
) {
|
||||||
const safe = safeSelf();
|
const safe = safeSelf();
|
||||||
|
const logPrefix = safe.makeLogPrefix('json-prune', rawPrunePaths, rawNeedlePaths, stackNeedle);
|
||||||
const stackNeedleDetails = safe.initPattern(stackNeedle, { canNegate: true });
|
const stackNeedleDetails = safe.initPattern(stackNeedle, { canNegate: true });
|
||||||
const extraArgs = safe.getExtraArgs(Array.from(arguments), 3);
|
const extraArgs = safe.getExtraArgs(Array.from(arguments), 3);
|
||||||
JSON.parse = new Proxy(JSON.parse, {
|
JSON.parse = new Proxy(JSON.parse, {
|
||||||
apply: function(target, thisArg, args) {
|
apply: function(target, thisArg, args) {
|
||||||
const objBefore = Reflect.apply(target, thisArg, args);
|
const objBefore = Reflect.apply(target, thisArg, args);
|
||||||
|
if ( rawPrunePaths === '' ) {
|
||||||
|
safe.uboLog(logPrefix, JSON.stringify(objBefore, null, 1));
|
||||||
|
}
|
||||||
const objAfter = objectPruneFn(
|
const objAfter = objectPruneFn(
|
||||||
objBefore,
|
objBefore,
|
||||||
rawPrunePaths,
|
rawPrunePaths,
|
||||||
rawNeedlePaths,
|
rawNeedlePaths,
|
||||||
stackNeedleDetails,
|
stackNeedleDetails,
|
||||||
extraArgs
|
extraArgs
|
||||||
);
|
);
|
||||||
return objAfter || objBefore;
|
if ( objAfter === undefined ) { return objBefore; }
|
||||||
|
safe.uboLog(logPrefix, 'Pruned');
|
||||||
|
if ( safe.logLevel > 1 ) {
|
||||||
|
safe.uboLog(logPrefix, JSON.stringify(objAfter, null, 1));
|
||||||
|
}
|
||||||
|
return objAfter;
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user