Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarco 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)
commit20f9a0fcd51e5edc7ea5c66fb655cd028319100d (patch)
tree45f4cd39138a52699982c90d80fa7105cd6b5c6c /src
parent5818437129222cb7a348f8a948e6b82a6bc5dc1d (diff)
Add support for adding certificate exceptions. Same UI as firefox.
Diffstat (limited to 'src')
-rw-r--r--src/HulahopDirectoryProvider.cpp26
-rw-r--r--src/Makefile.am3
-rw-r--r--src/hulahop.cpp6
3 files changed, 31 insertions, 4 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;
}
diff --git a/src/Makefile.am b/src/Makefile.am
index 6cd5d59..573239e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -4,7 +4,8 @@ INCLUDES = \
$(LIBXUL_CFLAGS) \
-DPLUGIN_PATH=\"$(libdir)/mozilla/plugins\" \
-DLIBXUL_DIR=\"$(LIBXUL_DIR)\" \
- -DDATA_DIR=\"$(pkgdatadir)\"
+ -DDATA_DIR=\"$(pkgdatadir)\" \
+ -DLIB_DIR=\"$(pkglibdir)\"
noinst_LTLIBRARIES = libhulahop.la
diff --git a/src/hulahop.cpp b/src/hulahop.cpp
index dbe9497..8d90c6f 100644
--- a/src/hulahop.cpp
+++ b/src/hulahop.cpp
@@ -48,6 +48,8 @@ hulahop_startup()
setup_plugin_path();
+ hulahop_add_components_path(LIB_DIR"/components");
+
nsCOMPtr<nsILocalFile> greDir;
rv = NS_NewNativeLocalFile(nsCString(LIBXUL_DIR), PR_TRUE,
getter_AddRefs(greDir));
@@ -61,8 +63,8 @@ hulahop_startup()
rv = XRE_InitEmbedding(greDir, binDir,
const_cast<HulahopDirectoryProvider *>
(&kDirectoryProvider), nsnull, 0);
- NS_ENSURE_SUCCESS(rv, FALSE);
-
+ NS_ENSURE_SUCCESS(rv, FALSE);
+
XRE_NotifyProfile();
return TRUE;