diff -r c2e88e5c7aab -r ab297940ae8a mozilla-prefer_plugin_pref.patch --- a/mozilla-prefer_plugin_pref.patch Mon Jun 08 13:58:06 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -From: Ubuntu -Subject: introduce a pref to prefer certain plugins for mime-types - -diff --git a/dom/plugins/base/nsPluginHost.cpp b/dom/plugins/base/nsPluginHost.cpp ---- a/dom/plugins/base/nsPluginHost.cpp -+++ b/dom/plugins/base/nsPluginHost.cpp -@@ -1334,17 +1334,51 @@ nsPluginHost::FindPluginForType(const ch - if (!aMimeType) { - return nullptr; - } - - LoadPlugins(); - - InfallibleTArray matchingPlugins; - -+ char *preferredPluginPath = nullptr; -+ nsAutoCString mimetypePrefString ("modules.plugins.mimetype."); -+ mimetypePrefString.Append(aMimeType); -+ const char *mimetypePrefChar = mimetypePrefString.get(); -+ nsAdoptingCString pluginPath = Preferences::GetCString(mimetypePrefChar); -+ preferredPluginPath = (char*) pluginPath.get(); -+ - nsPluginTag *plugin = mPlugins; -+ -+ if(preferredPluginPath) { -+ while (plugin) { -+ if (!aCheckEnabled || plugin->IsEnabled()) { -+ if (0 == PL_strcasecmp(plugin->mFileName.get(), preferredPluginPath) || -+ 0 == PL_strcasecmp(plugin->mFullPath.get(), preferredPluginPath)) { -+ matchingPlugins.AppendElement(plugin); -+ } -+ } -+ plugin = plugin->mNext; -+ } -+ -+ // now lets search for substrings -+ plugin = mPlugins; -+ while (plugin) { -+ if (!aCheckEnabled || plugin->IsEnabled()) { -+ if (nullptr != PL_strstr(plugin->mFileName.get(), preferredPluginPath) || -+ nullptr != PL_strstr(plugin->mFullPath.get(), preferredPluginPath)) { -+ matchingPlugins.AppendElement(plugin); -+ } -+ } -+ plugin = plugin->mNext; -+ } -+ -+ return FindPreferredPlugin(matchingPlugins); -+ } -+ - while (plugin) { - if (!aCheckEnabled || plugin->IsActive()) { - int32_t mimeCount = plugin->mMimeTypes.Length(); - for (int32_t i = 0; i < mimeCount; i++) { - if (0 == PL_strcasecmp(plugin->mMimeTypes[i].get(), aMimeType)) { - matchingPlugins.AppendElement(plugin); - break; - }