Fix duplicate entry in URL filtering dialog: https://github.com/gorhill/uBlock/issues/3401

This commit is contained in:
Raymond Hill 2018-12-21 10:09:29 -05:00
parent 21593dbfdd
commit 2849dbb805
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2
1 changed files with 12 additions and 10 deletions

View File

@ -1054,25 +1054,27 @@ var netFilteringManager = (function() {
};
// Build list of candidate URLs
var createTargetURLs = function(url) {
var urls = [];
var matches = reRFC3986.exec(url);
const createTargetURLs = function(url) {
const urls = [];
const matches = reRFC3986.exec(url);
if ( matches === null || !matches[1] || !matches[2] ) {
return urls;
}
// Shortest URL for a valid URL filtering rule
var rootURL = matches[1] + matches[2];
const rootURL = matches[1] + matches[2];
urls.unshift(rootURL);
var path = matches[3] || '';
var pos = path.charAt(0) === '/' ? 1 : 0;
const path = matches[3] || '';
let pos = path.charAt(0) === '/' ? 1 : 0;
while ( pos < path.length ) {
pos = path.indexOf('/', pos + 1);
pos = path.indexOf('/', pos);
if ( pos === -1 ) {
pos = path.length;
} else {
pos += 1;
}
urls.unshift(rootURL + path.slice(0, pos + 1));
urls.unshift(rootURL + path.slice(0, pos));
}
var query = matches[4] || '';
const query = matches[4] || '';
if ( query !== '' ) {
urls.unshift(rootURL + path + query);
}