Source code
Revision control
Copy as Markdown
Other Tools
/* Any copyright is dedicated to the Public Domain.
"use strict";
function forcePromptForFiles(mime, extension) {
const handlerSvc = Cc["@mozilla.org/uriloader/handler-service;1"].getService(
Ci.nsIHandlerService
);
const mimeSvc = Cc["@mozilla.org/mime;1"].getService(Ci.nsIMIMEService);
let txtHandlerInfo = mimeSvc.getFromTypeAndExtension(mime, extension);
txtHandlerInfo.preferredAction = Ci.nsIHandlerInfo.alwaysAsk;
txtHandlerInfo.alwaysAskBeforeHandling = true;
handlerSvc.store(txtHandlerInfo);
registerCleanupFunction(() => handlerSvc.remove(txtHandlerInfo));
}