summaryrefslogtreecommitdiffstats
path: root/webkit/glue/plugins
diff options
context:
space:
mode:
authorthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-11 21:22:05 +0000
committerthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-11 21:22:05 +0000
commitb84fa3a98d1a38d10a25b54d621d07c28e5a39d4 (patch)
tree9323c4c7ec28ca285a04c1cfb3fc33b528e6b5e3 /webkit/glue/plugins
parent17c2f74fbfdabb7b599edb8a2e0b23dc5fb74269 (diff)
downloadchromium_src-b84fa3a98d1a38d10a25b54d621d07c28e5a39d4.zip
chromium_src-b84fa3a98d1a38d10a25b54d621d07c28e5a39d4.tar.gz
chromium_src-b84fa3a98d1a38d10a25b54d621d07c28e5a39d4.tar.bz2
Linux: Blacklist the gecko-mediaplayer plugin. It sometimes hangs/crashes the browser.
BUG=24507 TEST=none Review URL: http://codereview.chromium.org/2014013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46963 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/plugins')
-rw-r--r--webkit/glue/plugins/plugin_list_posix.cc25
1 files changed, 22 insertions, 3 deletions
diff --git a/webkit/glue/plugins/plugin_list_posix.cc b/webkit/glue/plugins/plugin_list_posix.cc
index 0daa4b5..355c2ec 100644
--- a/webkit/glue/plugins/plugin_list_posix.cc
+++ b/webkit/glue/plugins/plugin_list_posix.cc
@@ -42,17 +42,36 @@ bool CompareTime(const FileAndTime& a, const FileAndTime& b) {
// use a "undesirable" plugin if no other option is available.
bool IsUndesirablePlugin(const WebPluginInfo& info) {
std::string filename = info.path.BaseName().value();
- return (filename.find("npcxoffice") != std::string::npos || // Crossover
- filename.find("npwrapper") != std::string::npos); // nspluginwrapper
+ const char* kUndesiredPlugins[] = {
+ "npcxoffice", // Crossover
+ "npwrapper", // nspluginwrapper
+ };
+ for (size_t i = 0; i < arraysize(kUndesiredPlugins); i++) {
+ if (filename.find(kUndesiredPlugins[i]) != std::string::npos) {
+ return true;
+ }
+ }
+ return false;
}
// Return true if we shouldn't load a plugin at all.
// This is an ugly hack to blacklist Adobe Acrobat due to not supporting
// its Xt-based mainloop.
// http://code.google.com/p/chromium/issues/detail?id=38229
+// The gecko-mediaplayer plugins also crashes the entire browser sometimes.
+// http://code.google.com/p/chromium/issues/detail?id=24507
bool IsBlacklistedPlugin(const WebPluginInfo& info) {
+ const char* kBlackListedPlugins[] = {
+ "nppdf.so", // Adobe PDF
+ "gecko-mediaplayer", // Gecko Media Player
+ };
std::string filename = info.path.BaseName().value();
- return filename.find("nppdf.so") != std::string::npos;
+ for (size_t i = 0; i < arraysize(kBlackListedPlugins); i++) {
+ if (filename.find(kBlackListedPlugins[i]) != std::string::npos) {
+ return true;
+ }
+ }
+ return false;
}
} // anonymous namespace