Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by George Sherwood (fbe2eaff8ac2dab87a5c3be21aa544dc7ac926c1)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: George Sherwood <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by George Sherwood (fbe2eaff8ac2dab87a5c3be21aa544dc7ac926c1)
  • Date: Fri, 10 Oct 2008 10:10:20 -0500

GIT changes to master grimoire by George Sherwood <gsherwood AT sourcemage.org>:

http/kazehakase/BUILD | 2
http/kazehakase/DEPENDS | 7
http/kazehakase/HISTORY | 8
http/kazehakase/PRE_BUILD | 13
http/kazehakase/kaze.patch | 114 ++++++
http/kazehakase/kazehakase-0.5.5-xulrunner19.patch | 358
+++++++++++++++++++++
6 files changed, 497 insertions(+), 5 deletions(-)

New commits:
commit fbe2eaff8ac2dab87a5c3be21aa544dc7ac926c1
Author: George Sherwood <gsherwood AT sourcemage.org>
Commit: George Sherwood <gsherwood AT sourcemage.org>

kazehakase: Should work now with seamonkey and xulrunnger as
providers of GECKO. Maybe mozilla should be removed as a
provider due to age. Added patch to fix bug #14747 and
a patch to allow build with xulrunner 1.9.x. Updated option
for xulrunner.

diff --git a/http/kazehakase/BUILD b/http/kazehakase/BUILD
index e94e4ea..79c991f 100755
--- a/http/kazehakase/BUILD
+++ b/http/kazehakase/BUILD
@@ -11,7 +11,7 @@ if test "$(get_spell_provider $SPELL GECKO)" =
mozilla-nightly; then
OPTS="$OPTS --with-gecko-engine=mozilla"
fi &&
if test "$(get_spell_provider $SPELL GECKO)" = xulrunner; then
- OPTS="$OPTS --with-gecko-engine=xulrunner"
+ OPTS="$OPTS --with-gecko-engine=libxul"
fi &&

# requires at least -O2 to not segfault on startup with gcc 4.0
diff --git a/http/kazehakase/DEPENDS b/http/kazehakase/DEPENDS
index b2f883d..b7b2d8b 100755
--- a/http/kazehakase/DEPENDS
+++ b/http/kazehakase/DEPENDS
@@ -9,9 +9,10 @@ if [[ "${KZ_SCM}" == "y" ]]
then
depends subversion
fi &&
-#depends GECKO &&
-# bug 14747
-depends seamonkey &&
+
+depends GECKO &&
+
+
optional_depends webkitgtk \
"" \
"" \
diff --git a/http/kazehakase/HISTORY b/http/kazehakase/HISTORY
index eae7dab..19cd878 100644
--- a/http/kazehakase/HISTORY
+++ b/http/kazehakase/HISTORY
@@ -1,3 +1,11 @@
+2008-10-10 George Sherwood <gsherwood AT sourcemage.org)
+ * DEPENDS: Should work with GECKO provider seamonkey and xulrunner
+ * PRE_BUILD: Added two patches.
+ * BUILD: Updated xulrunner option to --with-gecko-engine=libxul
+ * kazehakase-0.5.5-xulrunner19.patch: Gentoo patch to allow
+ kazehakase to build with xulrunner 1.9.x
+ * kaze.patch: Upstream patch that fixes Bug #14747
+
2008-09-24 Andrew Stitt <astitt AT sourcemage.org>
* DEPENDS: quick-fix replace seamonkey with GECKO (does not
currently work with other GECKO providers)
diff --git a/http/kazehakase/PRE_BUILD b/http/kazehakase/PRE_BUILD
index e9d3614..832e2dd 100755
--- a/http/kazehakase/PRE_BUILD
+++ b/http/kazehakase/PRE_BUILD
@@ -1,11 +1,22 @@
default_pre_build &&
cd ${SOURCE_DIRECTORY} &&
+
+
if [[ "${KZ_SCM}" == "y" ]]
then
NOCONFIGURE=1 ./autogen.sh
-fi
+fi &&
#Temporarily commented out in case it reappeards
#if [[ "${KZ_SCM}" == "y" ]]
#then
# ln -s /usr/share/automake/mkinstalldirs mkinstalldirs
#fi
+
+#patch to fix Bug 14747
+if [[ "${KZ_SCM}" == "n" ]]
+then
+patch -p0 < $SCRIPT_DIRECTORY/kaze.patch
+fi &&
+
+#patch to allow building with xulrunner 1.9.x
+patch -p1 < $SCRIPT_DIRECTORY/kazehakase-0.5.5-xulrunner19.patch
diff --git a/http/kazehakase/kaze.patch b/http/kazehakase/kaze.patch
new file mode 100644
index 0000000..7b3c9af
--- /dev/null
+++ b/http/kazehakase/kaze.patch
@@ -0,0 +1,114 @@
+--- module/embed/gecko/gtkmozembed/gtkmozembed.h 2008/08/03 11:35:25
3508
++++ module/embed/gecko/gtkmozembed/gtkmozembed.h 2008/08/05 00:10:37
3509
+@@ -30,10 +30,10 @@
+ G_BEGIN_DECLS
+
+ #define GTK_TYPE_MOZ_EMBED (gtk_moz_embed_get_type())
+-#define GTK_MOZ_EMBED(obj) GTK_CHECK_CAST((obj),
GTK_TYPE_MOZ_EMBED, GtkMozEmbed)
+-#define GTK_MOZ_EMBED_CLASS(klass) GTK_CHEK_CLASS_CAST((klass),
GTK_TYPE_MOZ_EMBED, GtkMozEmbedClass)
+-#define GTK_IS_MOZ_EMBED(obj) GTK_CHECK_TYPE((obj),
GTK_TYPE_MOZ_EMBED)
+-#define GTK_IS_MOZ_EMBED_CLASS(klass) GTK_CHECK_CLASS_TYPE((klass),
GTK_TYPE_MOZ_EMBED)
++#define GTK_MOZ_EMBED(obj) G_TYPE_CHECK_INSTANCE_CAST((obj),
GTK_TYPE_MOZ_EMBED, GtkMozEmbed)
++#define GTK_MOZ_EMBED_CLASS(klass) G_TYPE_CHEK_CLASS_CAST((klass),
GTK_TYPE_MOZ_EMBED, GtkMozEmbedClass)
++#define GTK_IS_MOZ_EMBED(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj),
GTK_TYPE_MOZ_EMBED)
++#define GTK_IS_MOZ_EMBED_CLASS(klass) G_TYPE_CHECK_CLASS_TYPE((klass),
GTK_TYPE_MOZ_EMBED)
+
+ typedef struct _GtkMozEmbed GtkMozEmbed;
+ typedef struct _GtkMozEmbedClass GtkMozEmbedClass;
+@@ -117,10 +117,10 @@
+ #define GTK_TYPE_MOZ_EMBED_CHROME_FLAGS \
+ (gtk_moz_embed_chrome_flags_get_type())
+
+-GtkType gtk_moz_embed_progress_flags_get_type (void) G_GNUC_CONST;
+-GtkType gtk_moz_embed_status_enums_get_type (void) G_GNUC_CONST;
+-GtkType gtk_moz_embed_reload_flags_get_type (void) G_GNUC_CONST;
+-GtkType gtk_moz_embed_chrome_flags_get_type (void) G_GNUC_CONST;
++GType gtk_moz_embed_progress_flags_get_type (void) G_GNUC_CONST;
++GType gtk_moz_embed_status_enums_get_type (void) G_GNUC_CONST;
++GType gtk_moz_embed_reload_flags_get_type (void) G_GNUC_CONST;
++GType gtk_moz_embed_chrome_flags_get_type (void) G_GNUC_CONST;
+
+ /* These are straight out of nsIWebProgressListener.h */
+
+--- src/kz-download-box.h 2008/08/03 11:35:25 3508
++++ src/kz-download-box.h 2008/08/05 00:10:37 3509
+@@ -28,11 +28,11 @@
+ G_BEGIN_DECLS
+
+ #define KZ_TYPE_DOWNLOAD_BOX (kz_download_box_get_type ())
+-#define KZ_DOWNLOAD_BOX(obj) (GTK_CHECK_CAST ((obj),
KZ_TYPE_DOWNLOAD_BOX, KzDownloadBox))
+-#define KZ_DOWNLOAD_BOX_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass),
KZ_TYPE_DOWNLOAD_BOX, KzDownloadBoxClass))
+-#define KZ_IS_DOWNLOAD_BOX(obj) (GTK_CHECK_TYPE ((obj),
KZ_TYPE_DOWNLOAD_BOX))
+-#define KZ_IS_DOWNLOAD_BOX_CLASS(klass) (GTK_CHECK_CLASS_TYPE
((klass), KZ_TYPE_DOWNLOAD_BOX))
+-#define KZ_DOWNLOAD_BOX_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj),
KZ_TYPE_DOWNLOAD_BOX, KzDownloadBoxClass))
++#define KZ_DOWNLOAD_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),
KZ_TYPE_DOWNLOAD_BOX, KzDownloadBox))
++#define KZ_DOWNLOAD_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),
KZ_TYPE_DOWNLOAD_BOX, KzDownloadBoxClass))
++#define KZ_IS_DOWNLOAD_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE
((obj), KZ_TYPE_DOWNLOAD_BOX))
++#define KZ_IS_DOWNLOAD_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE
((klass), KZ_TYPE_DOWNLOAD_BOX))
++#define KZ_DOWNLOAD_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS
((obj), KZ_TYPE_DOWNLOAD_BOX, KzDownloadBoxClass))
+
+ typedef struct _KzDownloadBox KzDownloadBox;
+ typedef struct _KzDownloadBoxClass KzDownloadBoxClass;
+
+--- src/kz-feed-info.h 2008/08/03 11:35:25 3508
++++ src/kz-feed-info.h 2008/08/05 00:10:37 3509
+@@ -8,11 +8,11 @@
+ G_BEGIN_DECLS
+
+ #define KZ_TYPE_FEED_INFO (kz_feed_info_get_type ())
+-#define KZ_FEED_INFO(obj) (GTK_CHECK_CAST ((obj),
KZ_TYPE_FEED_INFO, KzFeedInfo))
+-#define KZ_FEED_INFO_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass),
KZ_TYPE_FEED_INFO, KzFeedInfoClass))
+-#define KZ_IS_FEED_INFO(obj) (GTK_CHECK_TYPE ((obj),
KZ_TYPE_FEED_INFO))
+-#define KZ_IS_FEED_INFO_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass),
KZ_TYPE_FEED_INFO))
+-#define KZ_FEED_INFO_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj),
KZ_TYPE_FEED_INFO, KzFeedInfoClass))
++#define KZ_FEED_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),
KZ_TYPE_FEED_INFO, KzFeedInfo))
++#define KZ_FEED_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),
KZ_TYPE_FEED_INFO, KzFeedInfoClass))
++#define KZ_IS_FEED_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),
KZ_TYPE_FEED_INFO))
++#define KZ_IS_FEED_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),
KZ_TYPE_FEED_INFO))
++#define KZ_FEED_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),
KZ_TYPE_FEED_INFO, KzFeedInfoClass))
+
+ typedef struct _KzFeedInfo KzFeedInfo;
+ typedef struct _KzFeedInfoClass KzFeedInfoClass;
+
+--- src/kz-notebook.h 2008/08/03 11:35:25 3508
++++ src/kz-notebook.h 2008/08/05 00:10:37 3509
+@@ -9,11 +9,11 @@
+ G_BEGIN_DECLS
+
+ #define KZ_TYPE_NOTEBOOK (kz_notebook_get_type ())
+-#define KZ_NOTEBOOK(obj) (GTK_CHECK_CAST ((obj),
KZ_TYPE_NOTEBOOK, KzNotebook))
+-#define KZ_NOTEBOOK_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass),
KZ_TYPE_NOTEBOOK, KzNotebookClass))
+-#define KZ_IS_NOTEBOOK(obj) (GTK_CHECK_TYPE ((obj),
KZ_TYPE_NOTEBOOK))
+-#define KZ_IS_NOTEBOOK_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass),
KZ_TYPE_NOTEBOOK))
+-#define KZ_NOTEBOOK_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj),
KZ_TYPE_NOTEBOOK, KzNotebookClass))
++#define KZ_NOTEBOOK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),
KZ_TYPE_NOTEBOOK, KzNotebook))
++#define KZ_NOTEBOOK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),
KZ_TYPE_NOTEBOOK, KzNotebookClass))
++#define KZ_IS_NOTEBOOK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),
KZ_TYPE_NOTEBOOK))
++#define KZ_IS_NOTEBOOK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),
KZ_TYPE_NOTEBOOK))
++#define KZ_NOTEBOOK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),
KZ_TYPE_NOTEBOOK, KzNotebookClass))
+
+ typedef struct _KzNotebook KzNotebook;
+ typedef struct _KzNotebookClass KzNotebookClass;
+
+--- src/kz-statusbar.h 2008/08/03 11:35:25 3508
++++ src/kz-statusbar.h 2008/08/05 00:10:37 3509
+@@ -8,11 +8,11 @@
+ G_BEGIN_DECLS
+
+ #define KZ_TYPE_STATUSBAR (kz_statusbar_get_type ())
+-#define KZ_STATUSBAR(obj) (GTK_CHECK_CAST ((obj),
KZ_TYPE_STATUSBAR, KzStatusbar))
+-#define KZ_STATUSBAR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass),
KZ_TYPE_STATUSBAR, KzStatusbarClass))
+-#define KZ_IS_STATUSBAR(obj) (GTK_CHECK_TYPE ((obj),
KZ_TYPE_STATUSBAR))
+-#define KZ_IS_STATUSBAR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass),
KZ_TYPE_STATUSBAR))
+-#define KZ_STATUSBAR_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj),
KZ_TYPE_STATUSBAR, KzStatusbarClass))
++#define KZ_STATUSBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),
KZ_TYPE_STATUSBAR, KzStatusbar))
++#define KZ_STATUSBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),
KZ_TYPE_STATUSBAR, KzStatusbarClass))
++#define KZ_IS_STATUSBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),
KZ_TYPE_STATUSBAR))
++#define KZ_IS_STATUSBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),
KZ_TYPE_STATUSBAR))
++#define KZ_STATUSBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),
KZ_TYPE_STATUSBAR, KzStatusbarClass))
+
+ typedef struct _KzStatusbar KzStatusbar;
+ typedef struct _KzStatusbarClass KzStatusbarClass;
+
+
+
diff --git a/http/kazehakase/kazehakase-0.5.5-xulrunner19.patch
b/http/kazehakase/kazehakase-0.5.5-xulrunner19.patch
new file mode 100644
index 0000000..73f6e32
--- /dev/null
+++ b/http/kazehakase/kazehakase-0.5.5-xulrunner19.patch
@@ -0,0 +1,358 @@
+diff -urN kazehakase-0.5.5.orig/ext/ruby/Makefile.am
kazehakase-0.5.5/ext/ruby/Makefile.am
+--- kazehakase-0.5.5.orig/ext/ruby/Makefile.am 2008-07-29 17:15:31.000000000
+0300
++++ kazehakase-0.5.5/ext/ruby/Makefile.am 2008-08-11 02:22:57.000000000
+0300
+@@ -8,7 +8,6 @@
+ -DG_DISABLE_DEPRECATED=1
+
+ INCLUDES = \
+- $(MOZILLA_COMPONENT_CFLAGS) \
+ $(GTK_CFLAGS) \
+ $(LIBGNUTLS_CFLAGS) \
+ $(RUBY_CFLAGS) \
+@@ -63,5 +62,4 @@
+ $(GTK_LIBS) \
+ $(LIBGNUTLS_LIBS) \
+ $(RUBY_LIBS) \
+- $(MOZILLA_COMPONENT_LIBS) \
+ $(top_builddir)/src/libkazehakase.la
+diff -urN kazehakase-0.5.5.orig/ext/ruby/Makefile.in
kazehakase-0.5.5/ext/ruby/Makefile.in
+--- kazehakase-0.5.5.orig/ext/ruby/Makefile.in 2008-07-29 17:21:39.000000000
+0300
++++ kazehakase-0.5.5/ext/ruby/Makefile.in 2008-08-11 02:22:57.000000000
+0300
+@@ -306,7 +306,6 @@
+ top_srcdir = @top_srcdir@
+ ext_LTLIBRARIES = ruby.la
+ INCLUDES = \
+- $(MOZILLA_COMPONENT_CFLAGS) \
+ $(GTK_CFLAGS) \
+ $(LIBGNUTLS_CFLAGS) \
+ $(RUBY_CFLAGS) \
+@@ -354,7 +353,6 @@
+ $(GTK_LIBS) \
+ $(LIBGNUTLS_LIBS) \
+ $(RUBY_LIBS) \
+- $(MOZILLA_COMPONENT_LIBS) \
+ $(top_builddir)/src/libkazehakase.la
+
+ all: all-am
+diff -urN
kazehakase-0.5.5.orig/module/embed/gecko/gtkmozembed/nsProfileDirServiceProvider2.cpp

kazehakase-0.5.5/module/embed/gecko/gtkmozembed/nsProfileDirServiceProvider2.cpp
+---
kazehakase-0.5.5.orig/module/embed/gecko/gtkmozembed/nsProfileDirServiceProvider2.cpp
2008-07-29 17:15:30.000000000 +0300
++++
kazehakase-0.5.5/module/embed/gecko/gtkmozembed/nsProfileDirServiceProvider2.cpp
2008-08-11 02:23:39.000000000 +0300
+@@ -306,26 +306,6 @@
+ rv = EnsureProfileFileExists(localFile, domainDir);
+ }
+ }
+- else if (strcmp(prop, NS_APP_MAIL_50_DIR) == 0) {
+- rv = domainDir->Clone(getter_AddRefs(localFile));
+- if (NS_SUCCEEDED(rv))
+- rv = localFile->AppendNative(MAIL_DIR_50_NAME);
+- }
+- else if (strcmp(prop, NS_APP_IMAP_MAIL_50_DIR) == 0) {
+- rv = domainDir->Clone(getter_AddRefs(localFile));
+- if (NS_SUCCEEDED(rv))
+- rv = localFile->AppendNative(IMAP_MAIL_DIR_50_NAME);
+- }
+- else if (strcmp(prop, NS_APP_NEWS_50_DIR) == 0) {
+- rv = domainDir->Clone(getter_AddRefs(localFile));
+- if (NS_SUCCEEDED(rv))
+- rv = localFile->AppendNative(NEWS_DIR_50_NAME);
+- }
+- else if (strcmp(prop, NS_APP_MESSENGER_FOLDER_CACHE_50_DIR) == 0) {
+- rv = domainDir->Clone(getter_AddRefs(localFile));
+- if (NS_SUCCEEDED(rv))
+- rv = localFile->AppendNative(MSG_FOLDER_CACHE_DIR_50_NAME);
+- }
+ else if (strcmp(prop, NS_APP_STORAGE_50_FILE) == 0) {
+ rv = domainDir->Clone(getter_AddRefs(localFile));
+ if (NS_SUCCEEDED(rv))
+@@ -518,10 +498,6 @@
+ (void) directoryService->Undefine(NS_APP_BOOKMARKS_50_FILE);
+ (void) directoryService->Undefine(NS_APP_DOWNLOADS_50_FILE);
+ (void) directoryService->Undefine(NS_APP_SEARCH_50_FILE);
+- (void) directoryService->Undefine(NS_APP_MAIL_50_DIR);
+- (void) directoryService->Undefine(NS_APP_IMAP_MAIL_50_DIR);
+- (void) directoryService->Undefine(NS_APP_NEWS_50_DIR);
+- (void) directoryService->Undefine(NS_APP_MESSENGER_FOLDER_CACHE_50_DIR);
+
+ return NS_OK;
+ }
+diff -urN kazehakase-0.5.5.orig/module/embed/gecko/GtkPromptService.cpp
kazehakase-0.5.5/module/embed/gecko/GtkPromptService.cpp
+--- kazehakase-0.5.5.orig/module/embed/gecko/GtkPromptService.cpp
2008-07-29 17:15:30.000000000 +0300
++++ kazehakase-0.5.5/module/embed/gecko/GtkPromptService.cpp 2008-08-11
02:22:57.000000000 +0300
+@@ -36,6 +36,7 @@
+ *
+ * ***** END LICENSE BLOCK ***** */
+
++#include "config.h"
+ #include "GtkPromptService.h"
+ #include <nsIWindowWatcher.h>
+ #include <nsIWebBrowserChrome.h>
+@@ -49,6 +50,23 @@
+ #include <nsIDOMCharacterData.h>
+ #include <nsIDOMText.h>
+ #include <nsMemory.h>
++#ifdef HAVE_GECKO_1_9
++#include <nsIAuthInformation.h>
++#include <nsIStringBundle.h>
++#include <nsServiceManagerUtils.h>
++/* That is ugly but I didn't find another way, except including
++ * NS_GetAuthHostPort */
++#define kNotFound -1
++NS_COM void AppendUTF16toUTF8( const nsAString& aSource, nsACString& aDest
);
++#include <nsStringAPI.h>
++#include <nsIProxiedChannel.h>
++#include <nsIProxyInfo.h>
++#include <nsIIDNService.h>
++#include <nsNetCID.h>
++#include <nsIURI.h>
++#include <nsNetUtil.h>
++#include <nsPromptUtils.h>
++#endif
+
+ #include <glib/gi18n.h>
+ #include "kz-prompt-dialog.h"
+@@ -89,8 +107,11 @@
+ {
+ }
+
+-
++#ifdef HAVE_GECKO_1_9
++NS_IMPL_ISUPPORTS2(GtkPromptService, nsIPromptService, nsIPromptService2)
++#else
+ NS_IMPL_ISUPPORTS1(GtkPromptService, nsIPromptService)
++#endif
+
+ NS_IMETHODIMP
+ GtkPromptService::Alert(nsIDOMWindow* aParent, const PRUnichar*
aDialogTitle,
+@@ -338,10 +359,12 @@
+ KzPromptDialog *prompt =
KZ_PROMPT_DIALOG(kz_prompt_dialog_new_with_parent
+
(TYPE_PROMPT_USER_PASS,
+
GTK_WINDOW(GetGtkWindowForDOMWindow(aParent))));
++#ifndef HAVE_GECKO_1_9
+ gchar *host = GetURIForDOMWindow(aParent);
+ kz_prompt_dialog_set_host (prompt, host);
+ if (host)
+ g_free(host);
++#endif
+ kz_prompt_dialog_set_title(prompt,
+ aDialogTitle ? cTitle.get() : _("Prompt"));
+ kz_prompt_dialog_set_message_text(prompt, cText.get());
+@@ -391,10 +414,12 @@
+ KzPromptDialog *prompt =
KZ_PROMPT_DIALOG(kz_prompt_dialog_new_with_parent
+ (TYPE_PROMPT_PASS,
+
GTK_WINDOW(GetGtkWindowForDOMWindow(aParent))));
++#ifndef HAVE_GECKO_1_9
+ gchar *host = GetURIForDOMWindow(aParent);
+ kz_prompt_dialog_set_host (prompt, host);
+ if (host)
+ g_free(host);
++#endif
+ kz_prompt_dialog_set_title(prompt,
+ aDialogTitle ? cTitle.get() : _("Prompt"));
+ kz_prompt_dialog_set_message_text(prompt, cText.get());
+@@ -510,3 +535,147 @@
+ NS_UTF16ToCString(uri, NS_CSTRING_ENCODING_UTF8, c_uri);
+ return g_strdup(c_uri.get());
+ }
++
++#ifdef HAVE_GECKO_1_9
++static nsresult
++MakeDialogText(nsIChannel* aChannel, nsIAuthInformation* aAuthInfo,
++ nsString& message)
++{
++ nsresult rv;
++ nsCOMPtr<nsIStringBundleService> bundleSvc =
++ do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv);
++ NS_ENSURE_SUCCESS(rv, rv);
++
++ nsCOMPtr<nsIStringBundle> bundle;
++ rv = bundleSvc->CreateBundle("chrome://global/locale/prompts.properties",
++ getter_AddRefs(bundle));
++ NS_ENSURE_SUCCESS(rv, rv);
++
++ // figure out what message to display...
++ nsCAutoString host;
++ PRInt32 port;
++ NS_GetAuthHostPort(aChannel, aAuthInfo, PR_FALSE, host, &port);
++
++ nsAutoString displayHost;
++ CopyUTF8toUTF16(host, displayHost);
++
++ nsCOMPtr<nsIURI> uri;
++ aChannel->GetURI(getter_AddRefs(uri));
++
++ nsCAutoString scheme;
++ uri->GetScheme(scheme);
++
++ nsAutoString username;
++ aAuthInfo->GetUsername(username);
++
++ PRUint32 flags;
++ aAuthInfo->GetFlags(&flags);
++ PRBool proxyAuth = (flags & nsIAuthInformation::AUTH_PROXY) != 0;
++
++ nsAutoString realm;
++ aAuthInfo->GetRealm(realm);
++
++ // Append the port if it was specified
++ if (port != -1) {
++ displayHost.Append(PRUnichar(':'));
++ displayHost.AppendInt(port);
++ }
++
++ NS_NAMED_LITERAL_STRING(proxyText, "EnterLoginForProxy");
++ NS_NAMED_LITERAL_STRING(originText, "EnterLoginForRealm");
++ NS_NAMED_LITERAL_STRING(noRealmText, "EnterUserPasswordFor");
++ NS_NAMED_LITERAL_STRING(passwordText, "EnterPasswordFor");
++
++ const PRUnichar *text;
++ if (proxyAuth) {
++ text = proxyText.get();
++ } else {
++ text = originText.get();
++
++ // prepend "scheme://"
++ nsAutoString schemeU;
++ CopyASCIItoUTF16(scheme, schemeU);
++ schemeU.AppendLiteral("://");
++ displayHost.Insert(schemeU, 0);
++ }
++
++ const PRUnichar *strings[] = { realm.get(), displayHost.get() };
++ PRUint32 count = NS_ARRAY_LENGTH(strings);
++
++ if (flags & nsIAuthInformation::ONLY_PASSWORD) {
++ text = passwordText.get();
++ strings[0] = username.get();
++ } else if (!proxyAuth && realm.IsEmpty()) {
++ text = noRealmText.get();
++ count--;
++ strings[0] = strings[1];
++ }
++
++ rv = bundle->FormatStringFromName(text, strings, count,
getter_Copies(message));
++ return rv;
++}
++
++NS_METHOD
++GtkPromptService::PromptAuth(nsIDOMWindow *aParent,
++ nsIChannel *aChannel,
++ PRUint32 level,
++ nsIAuthInformation *authInfo,
++ const PRUnichar *checkboxLabel,
++ PRBool *checkValue,
++ PRBool *retval)
++{
++ NS_ENSURE_ARG_POINTER (retval);
++ NS_ENSURE_ARG_POINTER (authInfo);
++
++ nsString message;
++ MakeDialogText(aChannel, authInfo, message);
++
++ nsAutoString defaultUser, defaultDomain, defaultPass;
++ authInfo->GetUsername(defaultUser);
++ authInfo->GetDomain(defaultDomain);
++ authInfo->GetPassword(defaultPass);
++
++ PRUint32 flags;
++ authInfo->GetFlags(&flags);
++
++ if ((flags & nsIAuthInformation::NEED_DOMAIN) &&
!defaultDomain.IsEmpty()) {
++ defaultDomain.Append(PRUnichar('\\'));
++ defaultUser.Insert(defaultDomain, 0);
++ }
++
++ // NOTE: Allocation failure is not fatal here (just default to empty
string
++ // if allocation fails)
++ PRUnichar *user = ToNewUnicode(defaultUser),
++ *pass = ToNewUnicode(defaultPass);
++ nsresult rv;
++ if (flags & nsIAuthInformation::ONLY_PASSWORD)
++ rv = PromptPassword(aParent, nsnull, message.get(),
++ &pass, checkboxLabel,
++ checkValue, retval);
++ else
++ rv = PromptUsernameAndPassword(aParent, nsnull, message.get(),
++ &user, &pass, checkboxLabel,
++ checkValue, retval);
++
++ nsString userStr(user);
++ nsString passStr(pass);
++ authInfo->SetUsername(userStr);
++ authInfo->SetPassword(passStr);
++
++ return rv;
++}
++
++NS_METHOD GtkPromptService::AsyncPromptAuth(nsIDOMWindow *aParent,
++ nsIChannel *aChannel,
++ nsIAuthPromptCallback
*aCallback,
++ nsISupports *aContext,
++ PRUint32 level,
++ nsIAuthInformation *authInfo,
++ const PRUnichar *checkboxLabel,
++ PRBool *checkValue,
++ nsICancelable **retval)
++{
++ return NS_ERROR_NOT_IMPLEMENTED;
++}
++
++#endif
+diff -urN kazehakase-0.5.5.orig/module/embed/gecko/GtkPromptService.h
kazehakase-0.5.5/module/embed/gecko/GtkPromptService.h
+--- kazehakase-0.5.5.orig/module/embed/gecko/GtkPromptService.h
2008-07-29 17:15:30.000000000 +0300
++++ kazehakase-0.5.5/module/embed/gecko/GtkPromptService.h 2008-08-11
02:22:57.000000000 +0300
+@@ -37,7 +37,11 @@
+ *
+ * ***** END LICENSE BLOCK ***** */
+
++#ifdef HAVE_GECKO_1_9
++#include <nsIPromptService2.h>
++#else
+ #include <nsIPromptService.h>
++#endif
+ #include <gtk/gtk.h>
+
+ #define NS_PROMPTSERVICE_CID \
+@@ -45,7 +49,12 @@
+
+ class nsIDOMWindow;
+
+-class GtkPromptService : public nsIPromptService
++class GtkPromptService :
++#ifdef HAVE_GECKO_1_9
++ public nsIPromptService2
++#else
++ public nsIPromptService
++#endif
+ {
+ public:
+ GtkPromptService();
+@@ -53,6 +62,9 @@
+
+ NS_DECL_ISUPPORTS
+ NS_DECL_NSIPROMPTSERVICE
++#ifdef HAVE_GECKO_1_9
++ NS_DECL_NSIPROMPTSERVICE2
++#endif
+
+ private:
+ const char *GetButtonLabel(PRUint32 aFlags, PRUint32 aPos,
+diff -urN kazehakase-0.5.5.orig/module/embed/gecko/kz-mozutils.h
kazehakase-0.5.5/module/embed/gecko/kz-mozutils.h
+--- kazehakase-0.5.5.orig/module/embed/gecko/kz-mozutils.h 2008-07-29
17:15:30.000000000 +0300
++++ kazehakase-0.5.5/module/embed/gecko/kz-mozutils.h 2008-08-11
02:22:57.000000000 +0300
+@@ -49,6 +49,8 @@
+ * The following functions is taken from include/necko/nsNetUtils.h in
mozilla
+ */
+
++#ifndef nsNetUtil_h__
++
+ inline nsresult
+ GetIOService (nsIIOService **ioService)
+ {
+@@ -245,6 +247,6 @@
+
+ return resultBuffer;
+ }
+-
++#endif
+
+ #endif /* __KZ_MOZ_UTILS_H__ */



  • [SM-Commit] GIT changes to master grimoire by George Sherwood (fbe2eaff8ac2dab87a5c3be21aa544dc7ac926c1), George Sherwood, 10/10/2008

Archive powered by MHonArc 2.6.24.

Top of Page