| Index: chrome/content/ui/sidebar.js |
| =================================================================== |
| --- a/chrome/content/ui/sidebar.js |
| +++ b/chrome/content/ui/sidebar.js |
| @@ -28,16 +28,19 @@ var noFlash = false; |
| // Matcher for disabled filters |
| var disabledMatcher = new CombinedMatcher(); |
| // Cached string values |
| var docDomainThirdParty = null; |
| var docDomainFirstParty = null; |
| +// Localized type names |
| +var types = new Map(); |
|
tschuster
2015/11/05 15:06:15
localizedTypes maybe?
Wladimir Palant
2015/11/05 15:47:11
Done.
|
| + |
| function init() { |
| docDomainThirdParty = document.documentElement.getAttribute("docDomainThirdParty"); |
| docDomainFirstParty = document.documentElement.getAttribute("docDomainFirstParty"); |
| var list = E("list"); |
| list.view = treeView; |
| // Restore previous state |
| @@ -96,16 +99,19 @@ function init() { |
| list.addEventListener("select", onSelectionChange, false); |
| // Initialize data |
| handleLocationChange(); |
| // Install a progress listener to catch location changes |
| if (addBrowserLocationListener) |
| addBrowserLocationListener(mainWin, handleLocationChange, true); |
| + |
| + for (let type of Policy.contentTypes) |
| + types.set(type, Utils.getString("type_label_" + type.toLowerCase())); |
| } |
| // To be called for a detached window when the main window has been closed |
| function mainUnload() { |
| parent.close(); |
| } |
| // To be called on unload |
| @@ -253,17 +259,17 @@ function fillInTooltip(e) { |
| if ("tooltip" in item) |
| E("tooltipDummy").setAttribute("value", item.tooltip); |
| else |
| { |
| E("tooltipAddress").parentNode.hidden = (item.typeDescr == "ELEMHIDE"); |
| setMultilineContent(E("tooltipAddress"), item.location); |
| - var type = item.localizedDescr; |
| + var type = types.get(item.type); |
| if (filter && filter instanceof WhitelistFilter) |
| type += " " + E("tooltipType").getAttribute("whitelisted"); |
| else if (filter && item.typeDescr != "ELEMHIDE") |
| type += " " + E("tooltipType").getAttribute("filtered"); |
| E("tooltipType").setAttribute("value", type); |
| if (size) |
| E("tooltipSize").setAttribute("value", size.join(" x ")); |
| @@ -309,17 +315,17 @@ function fillInTooltip(e) { |
| let loadContext = content.QueryInterface(Ci.nsIInterfaceRequestor) |
| .getInterface(Ci.nsIWebNavigation) |
| .QueryInterface(Ci.nsILoadContext); |
| cacheStorage = Services.cache2.diskCacheStorage(LoadContextInfo.fromLoadContext(loadContext, false), false); |
| } |
| else |
| cacheStorage = Services.cache.createSession("HTTP", Ci.nsICache.STORE_ANYWHERE, true); |
| } |
| - |
| + |
| let showTooltipPreview = function () |
| { |
| E("tooltipPreview").setAttribute("src", item.location); |
| E("tooltipPreviewBox").hidden = false; |
| }; |
| try |
| { |
| if (Ci.nsICacheStorage && cacheStorage instanceof Ci.nsICacheStorage) |
| @@ -692,19 +698,21 @@ function sortByAddress(item1, item2) { |
| return 0; |
| } |
| function sortByAddressDesc(item1, item2) { |
| return -sortByAddress(item1, item2); |
| } |
| function compareType(item1, item2) { |
| - if (item1.localizedDescr < item2.localizedDescr) |
| + let type1 = types.get(item1.type); |
| + let type2 = types.get(item2.type); |
| + if (type1 < type2) |
| return -1; |
| - else if (item1.localizedDescr > item2.localizedDescr) |
| + else if (type1 > type2) |
| return 1; |
| else |
| return 0; |
| } |
| function compareFilter(item1, item2) { |
| var hasFilter1 = (item1.filter ? 1 : 0); |
| var hasFilter2 = (item2.filter ? 1 : 0); |
| @@ -860,17 +868,17 @@ var treeView = { |
| getCellText: function(row, col) { |
| col = col.id; |
| if (col != "type" && col != "address" && col != "filter" && col != "size" && col != "docDomain" && col != "filterSource") |
| return ""; |
| if (this.data && this.data.length) { |
| if (row >= this.data.length) |
| return ""; |
| if (col == "type") |
| - return this.data[row].localizedDescr; |
| + return types.get(this.data[row].type); |
| else if (col == "filter") |
| return (this.data[row].filter ? this.data[row].filter.text : ""); |
| else if (col == "size") |
| { |
| let size = getItemSize(this.data[row]); |
| return (size ? size.join(" x ") : ""); |
| } |
| else if (col == "docDomain") |
| @@ -1175,17 +1183,17 @@ var treeView = { |
| matchesFilter: function(item) |
| { |
| if (!this.filter) |
| return true; |
| return (item.location.toLowerCase().indexOf(this.filter) >= 0 || |
| (item.filter && item.filter.text.toLowerCase().indexOf(this.filter) >= 0) || |
| item.typeDescr.toLowerCase().indexOf(this.filter.replace(/-/g, "_")) >= 0 || |
| - item.localizedDescr.toLowerCase().indexOf(this.filter) >= 0 || |
| + types.get(item.type).toLowerCase().indexOf(this.filter) >= 0 || |
| (item.docDomain && item.docDomain.toLowerCase().indexOf(this.filter) >= 0) || |
| (item.docDomain && item.thirdParty && docDomainThirdParty.toLowerCase().indexOf(this.filter) >= 0) || |
| (item.docDomain && !item.thirdParty && docDomainFirstParty.toLowerCase().indexOf(this.filter) >= 0)); |
| }, |
| setFilter: function(filter) { |
| var oldRows = this.rowCount; |