mirror of
https://github.com/gorhill/uBlock.git
synced 2024-10-06 09:37:12 +02:00
code review: auto-select new built-in asset if it matches locale (https://github.com/uBlockOrigin/uAssets/issues/268#issuecomment-274146120)
This commit is contained in:
parent
8f46662a24
commit
6e48c74e4e
@ -29,9 +29,9 @@
|
|||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
var listDetails = {};
|
var listDetails = {},
|
||||||
var filteringSettingsHash = '';
|
filteringSettingsHash = '',
|
||||||
var externalLists = '';
|
externalLists = '';
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
@ -41,6 +41,10 @@ var onMessage = function(msg) {
|
|||||||
updateAssetStatus(msg);
|
updateAssetStatus(msg);
|
||||||
break;
|
break;
|
||||||
case 'staticFilteringDataChanged':
|
case 'staticFilteringDataChanged':
|
||||||
|
filteringSettingsHash = [
|
||||||
|
msg.parseCosmeticFilters,
|
||||||
|
msg.ignoreGenericCosmeticFilters
|
||||||
|
].concat(msg.listKeys.sort()).join();
|
||||||
renderFilterLists();
|
renderFilterLists();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -361,8 +361,14 @@ var updateAssetSourceRegistry = function(json) {
|
|||||||
unregisterAssetSource(assetKey);
|
unregisterAssetSource(assetKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Add/update existing entries
|
// Add/update existing entries. Notify of new asset sources.
|
||||||
for ( assetKey in newDict ) {
|
for ( assetKey in newDict ) {
|
||||||
|
if ( oldDict[assetKey] === undefined ) {
|
||||||
|
fireNotification(
|
||||||
|
'builtin-asset-source-added',
|
||||||
|
{ assetKey: assetKey, entry: newDict[assetKey] }
|
||||||
|
);
|
||||||
|
}
|
||||||
registerAssetSource(assetKey, newDict[assetKey]);
|
registerAssetSource(assetKey, newDict[assetKey]);
|
||||||
}
|
}
|
||||||
saveAssetSourceRegistry();
|
saveAssetSourceRegistry();
|
||||||
|
@ -193,9 +193,10 @@
|
|||||||
µBlock.saveSelectedFilterLists = function(listKeys, append) {
|
µBlock.saveSelectedFilterLists = function(listKeys, append) {
|
||||||
var µb = this;
|
var µb = this;
|
||||||
var save = function(keys) {
|
var save = function(keys) {
|
||||||
|
var uniqueKeys = µb.setToArray(new Set(keys));
|
||||||
var bin = {
|
var bin = {
|
||||||
selectedFilterLists: keys,
|
selectedFilterLists: uniqueKeys,
|
||||||
remoteBlacklists: µb.oldDataFromNewListKeys(keys)
|
remoteBlacklists: µb.oldDataFromNewListKeys(uniqueKeys)
|
||||||
};
|
};
|
||||||
vAPI.storage.set(bin);
|
vAPI.storage.set(bin);
|
||||||
};
|
};
|
||||||
@ -516,8 +517,9 @@
|
|||||||
|
|
||||||
//quickProfiler.start('µBlock.loadFilterLists()');
|
//quickProfiler.start('µBlock.loadFilterLists()');
|
||||||
|
|
||||||
var µb = this;
|
var µb = this,
|
||||||
var filterlistsCount = 0;
|
filterlistsCount = 0,
|
||||||
|
loadedListKeys = [];
|
||||||
|
|
||||||
if ( typeof callback !== 'function' ) {
|
if ( typeof callback !== 'function' ) {
|
||||||
callback = this.noopFunc;
|
callback = this.noopFunc;
|
||||||
@ -531,7 +533,12 @@
|
|||||||
|
|
||||||
//quickProfiler.stop(0);
|
//quickProfiler.stop(0);
|
||||||
|
|
||||||
vAPI.messaging.broadcast({ what: 'staticFilteringDataChanged' });
|
vAPI.messaging.broadcast({
|
||||||
|
what: 'staticFilteringDataChanged',
|
||||||
|
parseCosmeticFilters: µb.userSettings.parseAllABPHideFilters,
|
||||||
|
ignoreGenericCosmeticFilters: µb.userSettings.ignoreGenericCosmeticFilters,
|
||||||
|
listKeys: loadedListKeys
|
||||||
|
});
|
||||||
|
|
||||||
callback();
|
callback();
|
||||||
|
|
||||||
@ -539,17 +546,18 @@
|
|||||||
µb.loadingFilterLists = false;
|
µb.loadingFilterLists = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
var applyCompiledFilters = function(path, compiled) {
|
var applyCompiledFilters = function(assetKey, compiled) {
|
||||||
var snfe = µb.staticNetFilteringEngine;
|
var snfe = µb.staticNetFilteringEngine,
|
||||||
var cfe = µb.cosmeticFilteringEngine;
|
cfe = µb.cosmeticFilteringEngine,
|
||||||
var acceptedCount = snfe.acceptedCount + cfe.acceptedCount;
|
acceptedCount = snfe.acceptedCount + cfe.acceptedCount,
|
||||||
var discardedCount = snfe.discardedCount + cfe.discardedCount;
|
discardedCount = snfe.discardedCount + cfe.discardedCount;
|
||||||
µb.applyCompiledFilters(compiled, path === µb.userFiltersPath);
|
µb.applyCompiledFilters(compiled, assetKey === µb.userFiltersPath);
|
||||||
if ( µb.availableFilterLists.hasOwnProperty(path) ) {
|
if ( µb.availableFilterLists.hasOwnProperty(assetKey) ) {
|
||||||
var entry = µb.availableFilterLists[path];
|
var entry = µb.availableFilterLists[assetKey];
|
||||||
entry.entryCount = snfe.acceptedCount + cfe.acceptedCount - acceptedCount;
|
entry.entryCount = snfe.acceptedCount + cfe.acceptedCount - acceptedCount;
|
||||||
entry.entryUsedCount = entry.entryCount - (snfe.discardedCount + cfe.discardedCount - discardedCount);
|
entry.entryUsedCount = entry.entryCount - (snfe.discardedCount + cfe.discardedCount - discardedCount);
|
||||||
}
|
}
|
||||||
|
loadedListKeys.push(assetKey);
|
||||||
};
|
};
|
||||||
|
|
||||||
var onCompiledListLoaded = function(details) {
|
var onCompiledListLoaded = function(details) {
|
||||||
@ -1053,4 +1061,18 @@
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// New asset source became available, if it's a filter list, should we
|
||||||
|
// auto-select it?
|
||||||
|
if ( topic === 'builtin-asset-source-added' ) {
|
||||||
|
if ( details.entry.content === 'filters' ) {
|
||||||
|
if (
|
||||||
|
details.entry.off !== true ||
|
||||||
|
self.navigator.language.startsWith(details.entry.lang)
|
||||||
|
) {
|
||||||
|
this.saveSelectedFilterLists([ details.assetKey ], true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user