mirror of
https://github.com/gorhill/uBlock.git
synced 2024-11-02 00:42:45 +01:00
Better lookup all elements under mouse cursor in element picker
Related feedback: - https://www.reddit.com/r/uBlockOrigin/comments/pefaov/elementpickerzapper_often_misses_images/hcnycbx/?context=3
This commit is contained in:
parent
1219d57561
commit
d930504e3e
@ -524,11 +524,6 @@ const filtersFrom = function(x, y) {
|
||||
x = undefined;
|
||||
}
|
||||
|
||||
// Network filter from element which was clicked.
|
||||
if ( first !== null ) {
|
||||
netFilterFromElement(first);
|
||||
}
|
||||
|
||||
// Cosmetic filter candidates from ancestors.
|
||||
// https://github.com/gorhill/uBlock/issues/2519
|
||||
// https://github.com/uBlockOrigin/uBlock-issues/issues/17
|
||||
@ -549,23 +544,15 @@ const filtersFrom = function(x, y) {
|
||||
}
|
||||
|
||||
// https://github.com/gorhill/uBlock/issues/1545
|
||||
// Network filter candidates from all other elements found at
|
||||
// point (x, y).
|
||||
// Network filter candidates from all other elements found at [x,y].
|
||||
if ( typeof x === 'number' ) {
|
||||
const attrName = vAPI.sessionId + '-clickblind';
|
||||
elem = first;
|
||||
while ( elem !== null ) {
|
||||
const previous = elem;
|
||||
elem.setAttribute(attrName, '');
|
||||
elem = elementFromPoint(x, y);
|
||||
if ( elem === null || elem === previous ) { break; }
|
||||
const magicAttr = `${vAPI.sessionId}-clickblind`;
|
||||
pickerRoot.setAttribute(magicAttr, '');
|
||||
const elems = document.elementsFromPoint(x, y);
|
||||
pickerRoot.removeAttribute(magicAttr);
|
||||
for ( const elem of elems ) {
|
||||
netFilterFromElement(elem);
|
||||
}
|
||||
for ( const elem of document.querySelectorAll(`[${attrName}]`) ) {
|
||||
elem.removeAttribute(attrName);
|
||||
}
|
||||
|
||||
netFilterFromElement(document.body);
|
||||
}
|
||||
|
||||
return netFilterCandidates.length + cosmeticFilterCandidates.length;
|
||||
|
Loading…
Reference in New Issue
Block a user