diff options
author | finnur@chromium.org <finnur@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-02 11:07:29 +0000 |
---|---|---|
committer | finnur@chromium.org <finnur@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-02 11:07:29 +0000 |
commit | ed7bbb53170c3d54dfbd393c79fae6539fbab358 (patch) | |
tree | a700fc4826de8bcf622d8670d1b56db214b8e6d8 /chrome/common/chrome_paths.cc | |
parent | 3afa6af5c62863d3e4beafce49cb189e4e418d05 (diff) | |
download | chromium_src-ed7bbb53170c3d54dfbd393c79fae6539fbab358.zip chromium_src-ed7bbb53170c3d54dfbd393c79fae6539fbab358.tar.gz chromium_src-ed7bbb53170c3d54dfbd393c79fae6539fbab358.tar.bz2 |
This is based on a patch from Alexandre Abreu (http://codereview.chromium.org/9963120/) that I've modified slightly to work on Windows.
Modifies the external extension preferences loader to load not only external_extensions.json but also extensions based on standalone per-extension json files.
The new json files should be named <extension-id>.json and formatted as such:
{
"external_crx": "<relative path from the .json file>",
"external_version": "x.x"
}
Also, for Linux, added a new search path: /usr/share/[chromium|google-chrome]/extensions.
And finally, modifies the documentation to account for that change and to deprecate the external_extension.json files uses.
BUG=75174
TEST=None
Review URL: https://chromiumcodereview.appspot.com/10260010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134892 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/chrome_paths.cc')
-rw-r--r-- | chrome/common/chrome_paths.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc index 3cacef7..37d1d92 100644 --- a/chrome/common/chrome_paths.cc +++ b/chrome/common/chrome_paths.cc @@ -71,6 +71,18 @@ const FilePath::CharType kGTalkPluginFileName[] = FILE_PATH_LITERAL("pepper/libppgoogletalk.so"); #endif // defined(OS_POSIX) && !defined(OS_MACOSX) + +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) +// The path to the external extension <id>.json files. +// /usr/share seems like a good choice, see: http://www.pathname.com/fhs/ +const char kFilepathSinglePrefExtensions[] = +#if defined(GOOGLE_CHROME_BUILD) + FILE_PATH_LITERAL("/usr/share/google-chrome/extensions"); +#else + FILE_PATH_LITERAL("/usr/share/chromium/extensions"); +#endif // defined(GOOGLE_CHROME_BUILD) +#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) + } // namespace namespace chrome { @@ -361,6 +373,12 @@ bool PathProvider(int key, FilePath* result) { break; } #endif +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) + case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: { + cur = FilePath(FILE_PATH_LITERAL(kFilepathSinglePrefExtensions)); + break; + } +#endif case chrome::DIR_EXTERNAL_EXTENSIONS: #if defined(OS_MACOSX) if (!chrome::GetGlobalApplicationSupportDirectory(&cur)) |