From bc2584493a853c318cbd7b146f6c1f013fbed62a Mon Sep 17 00:00:00 2001 From: janekptacijarabaci Date: Thu, 26 Jul 2018 04:31:11 +0200 Subject: [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 --- .../components/preferences/applications.js | 33 ++++++++-------------- 1 file 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; } }, -- cgit v1.2.3