Raymond Hill 2018-07-04 09:38:37 -04:00
parent 3093846c71
commit cf56d84061
No known key found for this signature in database
GPG key ID: 25E1490B761470C2

View file

@ -67,7 +67,7 @@ var scopeToSrcHostnameMap = {
'.': '' '.': ''
}; };
var dfHotspots = null; var dfHotspots = null;
var hostnameToSortableTokenMap = {}; var hostnameToSortableTokenMap = new Map();
var allDomains = {}; var allDomains = {};
var allDomainCount = 0; var allDomainCount = 0;
var allHostnameRows = []; var allHostnameRows = [];
@ -111,30 +111,30 @@ var positionRulesetTools = function() {
var cachePopupData = function(data) { var cachePopupData = function(data) {
popupData = {}; popupData = {};
scopeToSrcHostnameMap['.'] = ''; scopeToSrcHostnameMap['.'] = '';
hostnameToSortableTokenMap = {}; hostnameToSortableTokenMap.clear();
if ( typeof data !== 'object' ) { if ( typeof data !== 'object' ) {
return popupData; return popupData;
} }
popupData = data; popupData = data;
scopeToSrcHostnameMap['.'] = popupData.pageHostname || ''; scopeToSrcHostnameMap['.'] = popupData.pageHostname || '';
var hostnameDict = popupData.hostnameDict; let hostnameDict = popupData.hostnameDict;
if ( typeof hostnameDict !== 'object' ) { if ( typeof hostnameDict !== 'object' ) {
return popupData; return popupData;
} }
var domain, prefix; for ( let hostname in hostnameDict ) {
for ( var hostname in hostnameDict ) { if ( hostnameDict.hasOwnProperty(hostname) === false ) { continue; }
if ( hostnameDict.hasOwnProperty(hostname) === false ) { let domain = hostnameDict[hostname].domain;
continue; let prefix = hostname.slice(0, 0 - domain.length - 1);
}
domain = hostnameDict[hostname].domain;
prefix = hostname.slice(0, 0 - domain.length);
// Prefix with space char for 1st-party hostnames: this ensure these // Prefix with space char for 1st-party hostnames: this ensure these
// will come first in list. // will come first in list.
if ( domain === popupData.pageDomain ) { if ( domain === popupData.pageDomain ) {
domain = '\u0020'; domain = '\u0020';
} }
hostnameToSortableTokenMap[hostname] = domain + prefix.split('.').reverse().join('.'); hostnameToSortableTokenMap.set(
hostname,
domain + ' ' + prefix.split('.').reverse().join('.')
);
} }
return popupData; return popupData;
}; };
@ -180,11 +180,11 @@ var formatNumber = function(count) {
var rulekeyCompare = function(a, b) { var rulekeyCompare = function(a, b) {
var ha = a.slice(2, a.indexOf(' ', 2)); var ha = a.slice(2, a.indexOf(' ', 2));
if ( !reIP.test(ha) ) { if ( !reIP.test(ha) ) {
ha = hostnameToSortableTokenMap[ha] || ' '; ha = hostnameToSortableTokenMap.get(ha) || ' ';
} }
var hb = b.slice(2, b.indexOf(' ', 2)); var hb = b.slice(2, b.indexOf(' ', 2));
if ( !reIP.test(hb) ) { if ( !reIP.test(hb) ) {
hb = hostnameToSortableTokenMap[hb] || ' '; hb = hostnameToSortableTokenMap.get(hb) || ' ';
} }
var ca = ha.charCodeAt(0), var ca = ha.charCodeAt(0),
cb = hb.charCodeAt(0); cb = hb.charCodeAt(0);