diff options
author | Jonas Smedegaard <dr@jones.dk> | 2008-06-20 22:18:37 (GMT) |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2008-06-20 22:18:37 (GMT) |
commit | 575b6689b13b85b58551eaee386015725cd5b82b (patch) | |
tree | 7f013737cc0564424ccab34f47e4ef638c066e2c /src | |
parent | a0b2a36d654029a9724c15979e46da2493fd019b (diff) | |
parent | 1b49f91a3eb89523a11d7b616ad189d7bb57eff6 (diff) |
Merge branch 'upstream-git' into upstream
Conflicts (merged manually):
tests/test-web-view.py
Diffstat (limited to 'src')
-rw-r--r-- | src/HulahopDirectoryProvider.cpp | 26 | ||||
-rw-r--r-- | src/Makefile.am | 3 | ||||
-rw-r--r-- | src/hulahop.cpp | 6 |
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; |