зеркало из https://github.com/mozilla/gecko-dev.git
Bug 671804 - Provide NS_APP_PREF_DEFAULTS_50_DIR and NS_APP_PREFS_DEFAULTS_DIR_LIST in xpcshell dir provider. r=bsmedberg
This commit is contained in:
Родитель
2fa4244b02
Коммит
0ce10103b8
|
@ -2087,7 +2087,15 @@ XPCShellDirProvider::GetFile(const char *prop, PRBool *persistent,
|
|||
{
|
||||
if (mGREDir && !strcmp(prop, NS_GRE_DIR)) {
|
||||
*persistent = PR_TRUE;
|
||||
NS_ADDREF(*result = mGREDir);
|
||||
return mGREDir->Clone(result);
|
||||
} else if (mGREDir && !strcmp(prop, NS_APP_PREF_DEFAULTS_50_DIR)) {
|
||||
nsCOMPtr<nsIFile> file;
|
||||
*persistent = PR_TRUE;
|
||||
if (NS_FAILED(mGREDir->Clone(getter_AddRefs(file))) ||
|
||||
NS_FAILED(file->AppendNative(NS_LITERAL_CSTRING("defaults"))) ||
|
||||
NS_FAILED(file->AppendNative(NS_LITERAL_CSTRING("pref"))))
|
||||
return NS_ERROR_FAILURE;
|
||||
NS_ADDREF(*result = file);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -2111,6 +2119,18 @@ XPCShellDirProvider::GetFiles(const char *prop, nsISimpleEnumerator* *result)
|
|||
dirs.AppendObject(file);
|
||||
|
||||
return NS_NewArrayEnumerator(result, dirs);
|
||||
} else if (!strcmp(prop, NS_APP_PREFS_DEFAULTS_DIR_LIST)) {
|
||||
nsCOMArray<nsIFile> dirs;
|
||||
|
||||
nsCOMPtr<nsIFile> file;
|
||||
if (NS_FAILED(NS_GetSpecialDirectory(NS_XPCOM_CURRENT_PROCESS_DIR,
|
||||
getter_AddRefs(file))) ||
|
||||
NS_FAILED(file->AppendNative(NS_LITERAL_CSTRING("defaults"))) ||
|
||||
NS_FAILED(file->AppendNative(NS_LITERAL_CSTRING("preferences"))))
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
dirs.AppendObject(file);
|
||||
return NS_NewArrayEnumerator(result, dirs);
|
||||
}
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче