diff options
author | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-07-26 04:31:11 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-08-04 08:07:02 +0200 |
commit | bc2584493a853c318cbd7b146f6c1f013fbed62a (patch) | |
tree | 7580592d1fc5afa13ab1f66426228c39d4a32081 /application/palemoon/components/preferences/applications.js | |
parent | 0f387725735fedc7e1b8d9bcfcb47f4c4a9880c7 (diff) | |
download | UXP-bc2584493a853c318cbd7b146f6c1f013fbed62a.tar UXP-bc2584493a853c318cbd7b146f6c1f013fbed62a.tar.gz UXP-bc2584493a853c318cbd7b146f6c1f013fbed62a.tar.lz UXP-bc2584493a853c318cbd7b146f6c1f013fbed62a.tar.xz UXP-bc2584493a853c318cbd7b146f6c1f013fbed62a.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/palemoon/components/preferences/applications.js')
-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; } }, |