Bug 623110 - prioritise the loading of user-installed search engines over app-shipped engines. r=dolske, a=blocker

This commit is contained in:
Gavin Sharp 2011-01-27 18:56:29 -05:00
parent 06209d5aef
commit 0d9bd9c404

View File

@ -248,9 +248,18 @@ DirectoryProvider::GetFiles(const char *aKey, nsISimpleEnumerator* *aResult)
nsCOMArray<nsIFile> baseFiles; nsCOMArray<nsIFile> baseFiles;
/**
* We want to preserve the following order, since the search service loads
* engines in first-loaded-wins order.
* - extension search plugin locations (prepended below using
* NS_NewUnionEnumerator)
* - distro search plugin locations
* - user search plugin locations (profile)
* - app search plugin location (shipped engines)
*/
AppendDistroSearchDirs(dirSvc, baseFiles); AppendDistroSearchDirs(dirSvc, baseFiles);
AppendFileKey(NS_APP_SEARCH_DIR, dirSvc, baseFiles);
AppendFileKey(NS_APP_USER_SEARCH_DIR, dirSvc, baseFiles); AppendFileKey(NS_APP_USER_SEARCH_DIR, dirSvc, baseFiles);
AppendFileKey(NS_APP_SEARCH_DIR, dirSvc, baseFiles);
nsCOMPtr<nsISimpleEnumerator> baseEnum; nsCOMPtr<nsISimpleEnumerator> baseEnum;
rv = NS_NewArrayEnumerator(getter_AddRefs(baseEnum), baseFiles); rv = NS_NewArrayEnumerator(getter_AddRefs(baseEnum), baseFiles);