1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-10-06 09:37:12 +02:00
This commit is contained in:
Raymond Hill 2018-03-18 13:56:20 -04:00
parent 1b767ec834
commit 2afd9919cc
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2

View File

@ -182,8 +182,7 @@ api.fetchFilterList = function(mainlistURL, onLoad, onError) {
var onLocalLoadSuccess = function(details) {
if ( errored ) { return; }
var isSublist = details.url !== mainlistURL,
sublistURL;
var isSublist = details.url !== mainlistURL;
pendingSublistURLs.delete(details.url);
loadedSublistURLs.add(details.url);
@ -194,27 +193,23 @@ api.fetchFilterList = function(mainlistURL, onLoad, onError) {
parsedMainURL !== undefined &&
parsedMainURL.pathname.length > 0
) {
var reInclude = /^!#include +(\S+)/gm,
match, subURL;
var reInclude = /^!#include +(\S+)/gm;
for (;;) {
match = reInclude.exec(details.content);
var match = reInclude.exec(details.content);
if ( match === null ) { break; }
if ( toParsedURL(match[1]) !== undefined ) { continue; }
if ( match[1].indexOf('..') !== -1 ) { continue; }
subURL =
var subURL =
parsedMainURL.origin +
parsedMainURL.pathname.replace(/[^/]+$/, match[1]);
if ( pendingSublistURLs.has(subURL) ) { continue; }
if ( loadedSublistURLs.has(subURL) ) { continue; }
pendingSublistURLs.add(subURL);
api.fetchText(subURL, onLocalLoadSuccess, onLocalLoadError);
}
}
if ( pendingSublistURLs.size !== 0 ) {
for ( sublistURL of pendingSublistURLs ) {
api.fetchText(sublistURL, onLocalLoadSuccess, onLocalLoadError);
}
return;
}
if ( pendingSublistURLs.size !== 0 ) { return; }
details.url = mainlistURL;
details.content = content.join('\n').trim();