summaryrefslogtreecommitdiffstats
path: root/application
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 /application
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
Diffstat (limited to 'application')
-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;
}
},