Bug 1355582 - Only the most recently added file extension is saved in "mimeTypes.rdf". r=mak
This change is tested in detail as part of
bug 1355585.
MozReview-Commit-ID: 74nDQjGlFjA
--- a/uriloader/exthandler/nsHandlerService.js
+++ b/uriloader/exthandler/nsHandlerService.js
@@ -847,22 +847,23 @@ HandlerService.prototype = {
this._setLiteral(infoID,
NC_ALWAYS_ASK,
aHandlerInfo.alwaysAskBeforeHandling ? "true" : "false");
},
_storeExtensions: function HS__storeExtensions(aHandlerInfo) {
if (aHandlerInfo instanceof Ci.nsIMIMEInfo) {
var typeID = this._getTypeID(this._getClass(aHandlerInfo), aHandlerInfo.type);
+ let source = this._rdf.GetResource(typeID);
+ let property = this._rdf.GetResource(NC_FILE_EXTENSIONS);
var extEnum = aHandlerInfo.getFileExtensions();
while (extEnum.hasMore()) {
let ext = extEnum.getNext().toLowerCase();
- if (!this._hasLiteralAssertion(typeID, NC_FILE_EXTENSIONS, ext)) {
- this._setLiteral(typeID, NC_FILE_EXTENSIONS, ext);
- }
+ let target = this._rdf.GetLiteral(ext);
+ this._ds.Assert(source, property, target, true);
}
}
},
//**************************************************************************//
// Convenience Getters