From a82dcdcc427883ed0f879b2380c525b3c0136d42 Mon Sep 17 00:00:00 2001 From: JustOff Date: Sat, 15 Apr 2017 21:38:39 +0300 Subject: [PATCH] Resolve confusions between Flash and VLC plugins on permissions pages --- browser/base/content/pageinfo/permissions.js | 3 +++ browser/components/preferences/aboutPermissions.js | 6 ++++++ toolkit/mozapps/extensions/internal/PluginProvider.jsm | 3 ++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/browser/base/content/pageinfo/permissions.js b/browser/base/content/pageinfo/permissions.js index 1cd89f84f4..7a0006b61f 100644 --- a/browser/base/content/pageinfo/permissions.js +++ b/browser/base/content/pageinfo/permissions.js @@ -338,6 +338,9 @@ function initPluginsRow() { continue; } for (let mimeType of plugin.getMimeTypes()) { + if (mimeType == "application/x-shockwave-flash" && plugin.name != "Shockwave Flash") { + continue; + } let permString = pluginHost.getPermissionStringForType(mimeType); if (!permissionMap.has(permString)) { var name = makeNicePluginName(plugin.name) + " " + plugin.version; diff --git a/browser/components/preferences/aboutPermissions.js b/browser/components/preferences/aboutPermissions.js index cbaf146cd7..ee1be15f3a 100644 --- a/browser/components/preferences/aboutPermissions.js +++ b/browser/components/preferences/aboutPermissions.js @@ -531,6 +531,9 @@ let AboutPermissions = { let XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; for (let plugin of tags) { for (let mimeType of plugin.getMimeTypes()) { + if (mimeType == "application/x-shockwave-flash" && plugin.name != "Shockwave Flash") { + continue; + } let permString = pluginHost.getPermissionStringForType(mimeType); if (!permissionMap.has(permString)) { let permissionEntry = document.createElementNS(XUL_NS, "box"); @@ -1061,6 +1064,9 @@ let AboutPermissions = { AddonManager.getAddonsByTypes(["plugin"], function(addons) { for (let addon of addons) { for (let type of addon.pluginMimeTypes) { + if (type.type == "application/x-shockwave-flash" && addon.name != "Shockwave Flash") { + continue; + } if (type.type.toLowerCase() == permissionMimeType.toLowerCase()) { addon.userDisabled = addonValue; return; diff --git a/toolkit/mozapps/extensions/internal/PluginProvider.jsm b/toolkit/mozapps/extensions/internal/PluginProvider.jsm index 7602dd0c1f..ff32ba0a79 100644 --- a/toolkit/mozapps/extensions/internal/PluginProvider.jsm +++ b/toolkit/mozapps/extensions/internal/PluginProvider.jsm @@ -196,7 +196,8 @@ var PluginProvider = { if (!(tag.description in seenPlugins[tag.name])) { let plugin = { id: getIDHashForString(tag.name + tag.description), - name: tag.name, + // XXX Flash name substitution like in browser-plugins.js, aboutPermissions.js, permissions.js + name: tag.name == "Shockwave Flash" ? "Adobe Flash" : tag.name, description: tag.description, tags: [tag] };