diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2008-06-15 02:34:54 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2008-06-15 02:34:54 (GMT) |
commit | 20f9a0fcd51e5edc7ea5c66fb655cd028319100d (patch) | |
tree | 45f4cd39138a52699982c90d80fa7105cd6b5c6c /src/HulahopDirectoryProvider.cpp | |
parent | 5818437129222cb7a348f8a948e6b82a6bc5dc1d (diff) |
Add support for adding certificate exceptions. Same UI as firefox.
Diffstat (limited to 'src/HulahopDirectoryProvider.cpp')
-rw-r--r-- | src/HulahopDirectoryProvider.cpp | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/HulahopDirectoryProvider.cpp b/src/HulahopDirectoryProvider.cpp index 1162dbb..fb21d69 100644 --- a/src/HulahopDirectoryProvider.cpp +++ b/src/HulahopDirectoryProvider.cpp @@ -21,6 +21,10 @@ #include <nsAppDirectoryServiceDefs.h> #include <nsDirectoryServiceDefs.h> #include <nsArrayEnumerator.h> +#include <nsIToolkitChromeRegistry.h> +#include <nsNetUtil.h> +#include <nsISupportsArray.h> +#include <nsIMutableArray.h> #include "HulahopDirectoryProvider.h" @@ -84,7 +88,27 @@ HulahopDirectoryProvider::GetFiles(const char *aKey, if (!strcmp(aKey, NS_XPCOM_COMPONENT_DIR_LIST)) { rv = NS_NewArrayEnumerator(aResult, mComponentsDirs); - } + } else if (!strcmp(aKey, NS_CHROME_MANIFESTS_FILE_LIST)) { + nsCOMPtr<nsILocalFile> manifestDir; + rv = NS_NewNativeLocalFile (nsDependentCString(DATA_DIR "/chrome"), PR_TRUE, + getter_AddRefs (manifestDir)); + NS_ENSURE_SUCCESS (rv, rv); + + nsCOMPtr<nsISupports> element (do_QueryInterface (manifestDir, &rv)); + NS_ENSURE_SUCCESS (rv, rv); + + nsCOMPtr<nsIMutableArray> array (do_CreateInstance(NS_ARRAY_CONTRACTID)); + if(!array) + return NS_ERROR_OUT_OF_MEMORY; + rv = array->AppendElement (manifestDir, PR_FALSE); + NS_ENSURE_SUCCESS (rv, rv); + + rv = array->Enumerate(aResult); + + NS_ENSURE_SUCCESS (rv, rv); + + rv = NS_SUCCESS_AGGREGATE_RESULT; + } return rv; } |