Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2008-06-20 22:18:37 (GMT)
committer Jonas Smedegaard <dr@jones.dk>2008-06-20 22:18:37 (GMT)
commit575b6689b13b85b58551eaee386015725cd5b82b (patch)
tree7f013737cc0564424ccab34f47e4ef638c066e2c /src
parenta0b2a36d654029a9724c15979e46da2493fd019b (diff)
parent1b49f91a3eb89523a11d7b616ad189d7bb57eff6 (diff)
Merge branch 'upstream-git' into upstream
Conflicts (merged manually): tests/test-web-view.py
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;