Load distribution search plugins from /etc/<appname>/searchplugins
authorMike Hommey <mh@glandium.org>
Fri, 30 Mar 2012 13:44:54 +0000 (15:44 +0200)
committerMike Hommey <glandium@debian.org>
Sun, 14 Feb 2016 09:25:51 +0000 (09:25 +0000)
Gbp-Pq: Topic debian-hacks
Gbp-Pq: Name Load-distribution-search-plugins-from-etc-appname-se.patch

browser/components/dirprovider/DirectoryProvider.cpp

index 29860dcb7e52715b62a7d7125c9c7eb6edb6bd85..6c4dff7c951e738a40026f5fe65dab889fdb4694 100644 (file)
@@ -5,7 +5,8 @@
 #include "nsIDirectoryService.h"
 #include "DirectoryProvider.h"
 
-#include "nsIFile.h"
+#include "nsIXULAppInfo.h"
+#include "nsILocalFile.h"
 #include "nsISimpleEnumerator.h"
 #include "nsIPrefService.h"
 #include "nsIPrefBranch.h"
@@ -125,11 +126,21 @@ static void
 AppendDistroSearchDirs(nsIProperties* aDirSvc, nsCOMArray<nsIFile> &array)
 {
   nsCOMPtr<nsIFile> searchPlugins;
-  nsresult rv = aDirSvc->Get(XRE_APP_DISTRIBUTION_DIR,
-                             NS_GET_IID(nsIFile),
-                             getter_AddRefs(searchPlugins));
+  nsresult rv = NS_NewLocalFile(NS_LITERAL_STRING("/etc"), false,
+                                getter_AddRefs(searchPlugins));
   if (NS_FAILED(rv))
     return;
+  nsCOMPtr<nsIXULAppInfo> appInfo = do_GetService("@mozilla.org/xre/app-info;1");
+  if (!appInfo)
+    return;
+
+  nsAutoCString name;
+  rv = appInfo->GetName(name);
+  if (NS_FAILED(rv))
+    return;
+  ToLowerCase(name);
+
+  searchPlugins->AppendNative(name);
   searchPlugins->AppendNative(NS_LITERAL_CSTRING("searchplugins"));
 
   bool exists;