summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-07-26 04:31:11 +0200
committerjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-07-26 04:31:11 +0200
commit11da825359f0e89eb79a07ba3c12515ab7d1db97 (patch)
tree1575e8cadcc2a2a7a4630853bf67e3722ec02617
parent2f8302dd63b5111bb5747975283a64d1b66042d5 (diff)
downloadUXP-11da825359f0e89eb79a07ba3c12515ab7d1db97.tar
UXP-11da825359f0e89eb79a07ba3c12515ab7d1db97.tar.gz
UXP-11da825359f0e89eb79a07ba3c12515ab7d1db97.tar.lz
UXP-11da825359f0e89eb79a07ba3c12515ab7d1db97.tar.xz
UXP-11da825359f0e89eb79a07ba3c12515ab7d1db97.zip
[PALEMOON] Bug 863773 - Changes the way plugin handlers are loaded at the preferences applications pane. Uses enabledPlugin attribute from each navigator.mimeTypes to find the actual plugin used to handle the mime type
-rw-r--r--application/palemoon/components/preferences/applications.js33
1 files changed, 12 insertions, 21 deletions
diff --git a/application/palemoon/components/preferences/applications.js b/application/palemoon/components/preferences/applications.js
index 1936f5ee8..d06f9f9fb 100644
--- a/application/palemoon/components/preferences/applications.js
+++ b/application/palemoon/components/preferences/applications.js
@@ -1069,29 +1069,20 @@ var gApplicationsPane = {
_loadPluginHandlers: function() {
"use strict";
- let pluginHost = Cc["@mozilla.org/plugin/host;1"].getService(Ci.nsIPluginHost);
- let pluginTags = pluginHost.getPluginTags();
-
- for (let i = 0; i < pluginTags.length; ++i) {
- let pluginTag = pluginTags[i];
-
- let mimeTypes = pluginTag.getMimeTypes();
- for (let j = 0; j < mimeTypes.length; ++j) {
- let type = mimeTypes[j];
-
- let handlerInfoWrapper;
- if (type in this._handledTypes)
- handlerInfoWrapper = this._handledTypes[type];
- else {
- let wrappedHandlerInfo =
- this._mimeSvc.getFromTypeAndExtension(type, null);
- handlerInfoWrapper = new HandlerInfoWrapper(type, wrappedHandlerInfo);
- handlerInfoWrapper.handledOnlyByPlugin = true;
- this._handledTypes[type] = handlerInfoWrapper;
- }
+ let mimeTypes = navigator.mimeTypes;
- handlerInfoWrapper.pluginName = pluginTag.name;
+ for (let mimeType of mimeTypes) {
+ let handlerInfoWrapper;
+ if (mimeType.type in this._handledTypes) {
+ handlerInfoWrapper = this._handledTypes[mimeType.type];
+ } else {
+ let wrappedHandlerInfo =
+ this._mimeSvc.getFromTypeAndExtension(mimeType.type, null);
+ handlerInfoWrapper = new HandlerInfoWrapper(mimeType.type, wrappedHandlerInfo);
+ handlerInfoWrapper.handledOnlyByPlugin = true;
+ this._handledTypes[mimeType.type] = handlerInfoWrapper;
}
+ handlerInfoWrapper.pluginName = mimeType.enabledPlugin.name;
}
},