summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webkit/glue/plugins/plugin_lib_linux.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/webkit/glue/plugins/plugin_lib_linux.cc b/webkit/glue/plugins/plugin_lib_linux.cc
index 2e196ac..90a3597 100644
--- a/webkit/glue/plugins/plugin_lib_linux.cc
+++ b/webkit/glue/plugins/plugin_lib_linux.cc
@@ -59,6 +59,12 @@ bool ELFMatchesCurrentArchitecture(const FilePath& filename) {
return false;
}
+// TODO(thestig) This is a hack to work around the crash in bug 25245. Remove
+// this once we read plugins out of process.
+bool SkipPluginUnloadHack(const WebPluginInfo& info) {
+ std::string filename = info.path.BaseName().value();
+ return (filename.find("npo3dautoplugin") != std::string::npos); // O3D
+}
} // anonymous namespace
namespace NPAPI {
@@ -108,7 +114,8 @@ bool PluginLib::ReadWebPluginInfo(const FilePath& filename,
info->desc = UTF8ToWide(description);
}
- base::UnloadNativeLibrary(dl);
+ if (!SkipPluginUnloadHack(*info))
+ base::UnloadNativeLibrary(dl);
return true;
}