diff options
author | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-07-26 04:31:11 +0200 |
---|---|---|
committer | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-07-26 04:31:11 +0200 |
commit | 11da825359f0e89eb79a07ba3c12515ab7d1db97 (patch) | |
tree | 1575e8cadcc2a2a7a4630853bf67e3722ec02617 | |
parent | 2f8302dd63b5111bb5747975283a64d1b66042d5 (diff) | |
download | UXP-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.js | 33 |
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; } }, |