--- chrome/common/chrome_paths.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/common/chrome_paths.cc @@ -43,15 +43,23 @@ namespace { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // The path to the external extension .json files. // /usr/share seems like a good choice, see: http://www.pathname.com/fhs/ const base::FilePath::CharType kFilepathSinglePrefExtensions[] = +#if defined(OS_BSD) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + FILE_PATH_LITERAL("/usr/local/share/google-chrome/extensions"); +#else + FILE_PATH_LITERAL("/usr/local/share/chromium/extensions"); +#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) +#else +#if BUILDFLAG(GOOGLE_CHROME_BRANDING) FILE_PATH_LITERAL("/usr/share/google-chrome/extensions"); #else FILE_PATH_LITERAL("/usr/share/chromium/extensions"); #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) +#endif #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) @@ -172,7 +180,7 @@ bool PathProvider(int key, base::FilePath* result) { return false; break; case chrome::DIR_DEFAULT_DOWNLOADS_SAFE: -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (!GetUserDownloadsDirectorySafe(&cur)) return false; break; @@ -416,6 +424,9 @@ bool PathProvider(int key, base::FilePath* result) { case chrome::DIR_POLICY_FILES: { #if BUILDFLAG(GOOGLE_CHROME_BRANDING) cur = base::FilePath(FILE_PATH_LITERAL("/etc/opt/chrome/policies")); +#elif defined(OS_BSD) + cur = base::FilePath(FILE_PATH_LITERAL( + "/usr/local/etc/chrome/policies")); #else cur = base::FilePath(FILE_PATH_LITERAL("/etc/chromium/policies")); #endif @@ -427,7 +438,7 @@ bool PathProvider(int key, base::FilePath* result) { #if BUILDFLAG(IS_CHROMEOS_ASH) || \ ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ BUILDFLAG(CHROMIUM_BRANDING)) || \ - defined(OS_MAC) + defined(OS_MAC) || defined(OS_BSD) case chrome::DIR_USER_EXTERNAL_EXTENSIONS: { if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur)) return false; @@ -435,7 +446,7 @@ bool PathProvider(int key, base::FilePath* result) { break; } #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: { cur = base::FilePath(kFilepathSinglePrefExtensions); break; @@ -470,7 +481,7 @@ bool PathProvider(int key, base::FilePath* result) { #endif break; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) case chrome::DIR_NATIVE_MESSAGING: #if defined(OS_MAC) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) @@ -484,6 +495,9 @@ bool PathProvider(int key, base::FilePath* result) { #if BUILDFLAG(GOOGLE_CHROME_BRANDING) cur = base::FilePath(FILE_PATH_LITERAL( "/etc/opt/chrome/native-messaging-hosts")); +#elif defined(OS_BSD) + cur = base::FilePath(FILE_PATH_LITERAL( + "/usr/local/etc/chrome/native-messaging-hosts")); #else cur = base::FilePath(FILE_PATH_LITERAL( "/etc/chromium/native-messaging-hosts")); @@ -496,7 +510,7 @@ bool PathProvider(int key, base::FilePath* result) { return false; cur = cur.Append(FILE_PATH_LITERAL("NativeMessagingHosts")); break; -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) #if !defined(OS_ANDROID) case chrome::DIR_GLOBAL_GCM_STORE: if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur))