summary refs log tree commit diff
path: root/gnu/packages/patches/ungoogled-chromium-extension-search-path.patch
blob: 5ce219ccc79664014b487023822489c50e242313 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Look for extensions in $CHROMIUM_EXTENSION_DIRECTORY instead of
/usr/share/chromium/extensions.

--- a/chrome/common/chrome_paths.cc
+++ b/chrome/common/chrome_paths.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/common/chrome_paths.h"
 
+#include "base/environment.h"
 #include "base/files/file_util.h"
 #include "base/logging.h"
 #include "base/native_library.h"
@@ -511,7 +512,13 @@
 #endif
 #if defined(OS_LINUX) || defined(OS_CHROMEOS)
     case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: {
-      cur = base::FilePath(kFilepathSinglePrefExtensions);
+      std::unique_ptr<base::Environment> environment(base::Environment::Create());
+      std::string extension_dir;
+      if (environment->GetVar("CHROMIUM_EXTENSION_DIRECTORY", &extension_dir)) {
+        cur = base::FilePath(extension_dir);
+      } else {
+        cur = base::FilePath(kFilepathSinglePrefExtensions);
+      }
       break;
     }
 #endif