Commit 07601687 authored by evan@chromium.org's avatar evan@chromium.org

linux: search Chrome-specific plugin directories before Mozilla

As discussed in
http://groups.google.com/group/chromium-dev/browse_thread/thread/7a70e5fcbac786a9

Review URL: http://codereview.chromium.org/195044

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25783 0039d316-1c4b-4281-b951-d872f2087c98
parent d15e6321
...@@ -50,6 +50,19 @@ void PluginList::PlatformInit() { ...@@ -50,6 +50,19 @@ void PluginList::PlatformInit() {
} }
void PluginList::GetPluginDirectories(std::vector<FilePath>* plugin_dirs) { void PluginList::GetPluginDirectories(std::vector<FilePath>* plugin_dirs) {
// See http://groups.google.com/group/chromium-dev/browse_thread/thread/7a70e5fcbac786a9
// for discussion.
// We first consult Chrome-specific dirs, then fall back on the logic
// Mozilla uses.
// TODO(evanm): maybe consult our own plugins dir, like
// ~/.config/chromium/Plugins?
// The Chrome binary dir + "plugins/".
FilePath dir;
PathService::Get(base::DIR_EXE, &dir);
plugin_dirs->push_back(dir.Append("plugins"));
// Mozilla code to reference: // Mozilla code to reference:
// http://mxr.mozilla.org/firefox/ident?i=NS_APP_PLUGINS_DIR_LIST // http://mxr.mozilla.org/firefox/ident?i=NS_APP_PLUGINS_DIR_LIST
// and tens of accompanying files (mxr is very helpful). // and tens of accompanying files (mxr is very helpful).
...@@ -70,15 +83,8 @@ void PluginList::GetPluginDirectories(std::vector<FilePath>* plugin_dirs) { ...@@ -70,15 +83,8 @@ void PluginList::GetPluginDirectories(std::vector<FilePath>* plugin_dirs) {
const char* home = getenv("HOME"); const char* home = getenv("HOME");
if (home) if (home)
plugin_dirs->push_back(FilePath(home).Append(".mozilla/plugins")); plugin_dirs->push_back(FilePath(home).Append(".mozilla/plugins"));
// TODO(evanm): maybe consult our own plugins dir, like
// ~/.config/chromium/Plugins?
// 3) NS_APP_PLUGINS_DIR: the binary dir + "plugins/".
FilePath dir;
PathService::Get(base::DIR_EXE, &dir);
plugin_dirs->push_back(dir.Append("plugins"));
// 4) NS_SYSTEM_PLUGINS_DIR: // 3) NS_SYSTEM_PLUGINS_DIR:
// This varies across different versions of Firefox, so check 'em all. // This varies across different versions of Firefox, so check 'em all.
plugin_dirs->push_back(FilePath("/usr/lib/mozilla/plugins")); plugin_dirs->push_back(FilePath("/usr/lib/mozilla/plugins"));
plugin_dirs->push_back(FilePath("/usr/lib/firefox/plugins")); plugin_dirs->push_back(FilePath("/usr/lib/firefox/plugins"));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment