[PALEMOON] Bug 1115972 - Don't fall back to the Places icon for downloads without the target file name annotation

This commit is contained in:
janekptacijarabaci 2018-07-29 07:33:26 +02:00 • committed by Roy Tam
commit 03d5824434

View file

@ -58,8 +58,7 @@ const NOT_AVAILABLE = Number.MAX_VALUE;
* - The DownloadsPlacesView object implements onDataItemStateChanged and * - The DownloadsPlacesView object implements onDataItemStateChanged and
* onDataItemChanged of the DownloadsView pseudo interface. * onDataItemChanged of the DownloadsView pseudo interface.
* - The DownloadsPlacesView object adds itself as a places result observer and * - The DownloadsPlacesView object adds itself as a places result observer and
* calls this object's placesNodeIconChanged and placesNodeAnnotationChanged * calls this object's placesNodeAnnotationChanged from its callbacks.
* from its callbacks.
* *
* @param [optional] aDataItem * @param [optional] aDataItem
* The data item of a the session download. Required if aPlacesNode is not set * The data item of a the session download. Required if aPlacesNode is not set
@ -164,12 +163,10 @@ DownloadElementShell.prototype = {
return "moz-icon://" + metaData.filePath + "?size=32"; return "moz-icon://" + metaData.filePath + "?size=32";
if (this._placesNode) { if (this._placesNode) {
// Try to extract an extension from the uri. return "moz-icon://.unknown?size=32";
let ext = this._downloadURIObj.QueryInterface(Ci.nsIURL).fileExtension;
if (ext)
return "moz-icon://." + ext + "?size=32";
return this._placesNode.icon || "moz-icon://.unknown?size=32";
} }
// Assert unreachable.
if (this._dataItem) if (this._dataItem)
throw new Error("Session-download items should always have a target file uri"); throw new Error("Session-download items should always have a target file uri");
@ -506,11 +503,6 @@ DownloadElementShell.prototype = {
this._fetchTargetFileInfo(true); this._fetchTargetFileInfo(true);
}, },
placesNodeIconChanged: function DES_placesNodeIconChanged() {
if (!this._dataItem)
this._element.setAttribute("image", this._getIcon());
},
placesNodeAnnotationChanged: function DES_placesNodeAnnotationChanged(aAnnoName) { placesNodeAnnotationChanged: function DES_placesNodeAnnotationChanged(aAnnoName) {
this._annotations.delete(aAnnoName); this._annotations.delete(aAnnoName);
if (!this._dataItem && this.active) { if (!this._dataItem && this.active) {
@ -1244,18 +1236,13 @@ DownloadsPlacesView.prototype = {
this._removeHistoryDownloadFromView(aPlacesNode); this._removeHistoryDownloadFromView(aPlacesNode);
}, },
nodeIconChanged: function DPV_nodeIconChanged(aNode) {
this._forEachDownloadElementShellForURI(aNode.uri, function(aDownloadElementShell) {
aDownloadElementShell.placesNodeIconChanged();
});
},
nodeAnnotationChanged: function DPV_nodeAnnotationChanged(aNode, aAnnoName) { nodeAnnotationChanged: function DPV_nodeAnnotationChanged(aNode, aAnnoName) {
this._forEachDownloadElementShellForURI(aNode.uri, function(aDownloadElementShell) { this._forEachDownloadElementShellForURI(aNode.uri, function(aDownloadElementShell) {
aDownloadElementShell.placesNodeAnnotationChanged(aAnnoName); aDownloadElementShell.placesNodeAnnotationChanged(aAnnoName);
}); });
}, },
nodeIconChanged() {},
nodeTitleChanged() {}, nodeTitleChanged() {},
nodeKeywordChanged: function() {}, nodeKeywordChanged: function() {},
nodeDateAddedChanged: function() {}, nodeDateAddedChanged: function() {},