From a4ab7d01dfce23acc8861516ad276295365bdf07 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Mon, 11 Nov 2019 01:15:16 -0500 Subject: [PATCH] Bug 1554098 - deduce RSS media enclosures type from extension when missing. Tag #1273 --- .../extensions/newsblog/content/FeedItem.js | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/mailnews/extensions/newsblog/content/FeedItem.js b/mailnews/extensions/newsblog/content/FeedItem.js index c3f9691f8b..25fc8ac300 100644 --- a/mailnews/extensions/newsblog/content/FeedItem.js +++ b/mailnews/extensions/newsblog/content/FeedItem.js @@ -452,16 +452,18 @@ function FeedEnclosure(aURL, aContentType, aLength, aTitle) this.mTitle = aTitle; // Generate a fileName from the URL. - if (this.mURL) - { - try - { - this.mFileName = Services.io.newURI(this.mURL, null, null). - QueryInterface(Ci.nsIURL). - fileName; - } - catch(ex) - { + if (this.mURL) { + try { + let uri = Services.io.newURI(this.mURL).QueryInterface(Ci.nsIURL); + this.mFileName = uri.fileName; + // Determine mimetype from extension if content-type is not present. + if (!aContentType) { + let contentType = Cc["@mozilla.org/mime;1"] + .getService(Ci.nsIMIMEService) + .getTypeFromExtension(uri.fileExtension); + this.mContentType = contentType; + } + } catch(ex) { this.mFileName = this.mURL; } }