--- chrome/common/chrome_paths.cc.orig 2021-07-15 19:13:34 UTC +++ chrome/common/chrome_paths.cc @@ -44,15 +44,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) @@ -175,7 +183,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; @@ -425,6 +433,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 @@ -436,7 +447,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; @@ -444,7 +455,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; @@ -479,7 +490,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) @@ -493,6 +504,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")); @@ -505,7 +519,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))