From 3c41580e7182a23bf149a68a31cb51c6fb0a3008 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Mon, 11 Nov 2019 01:15:16 -0500 Subject: Bug 1554098 - deduce RSS media enclosures type from extension when missing. Tag #1273 --- mailnews/extensions/newsblog/content/FeedItem.js | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'mailnews/extensions') diff --git a/mailnews/extensions/newsblog/content/FeedItem.js b/mailnews/extensions/newsblog/content/FeedItem.js index c3f9691f8..25fc8ac30 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; } } -- cgit v1.2.3