diff options
author | Christian Persch <chpe@cvs.gnome.org> | 2006-02-03 06:25:18 +0800 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2006-02-03 06:25:18 +0800 |
commit | b5d229937e31e9cec6cf599ae816e22888237aa0 (patch) | |
tree | 9b62c3b002838151fb7383f874cc29502a447eac /embed/mozilla/GtkNSSDialogs.cpp | |
parent | fd6923b630ae9629a99fa527baabb47d4454913a (diff) | |
download | gsoc2013-epiphany-b5d229937e31e9cec6cf599ae816e22888237aa0.tar gsoc2013-epiphany-b5d229937e31e9cec6cf599ae816e22888237aa0.tar.gz gsoc2013-epiphany-b5d229937e31e9cec6cf599ae816e22888237aa0.tar.bz2 gsoc2013-epiphany-b5d229937e31e9cec6cf599ae816e22888237aa0.tar.lz gsoc2013-epiphany-b5d229937e31e9cec6cf599ae816e22888237aa0.tar.xz gsoc2013-epiphany-b5d229937e31e9cec6cf599ae816e22888237aa0.tar.zst gsoc2013-epiphany-b5d229937e31e9cec6cf599ae816e22888237aa0.zip |
Helper class that pushes a null JS context on the stack, and pops it in
2006-02-02 Christian Persch <chpe@cvs.gnome.org>
* embed/mozilla/Makefile.am:
* embed/mozilla/AutoJSContextStack.cpp:
* embed/mozilla/AutoJSContextStack.h:
Helper class that pushes a null JS context on the stack,
and pops it in the destructor.
* embed/mozilla/ContentHandler.cpp:
* embed/mozilla/EphyPromptService.cpp:
* embed/mozilla/FilePicker.cpp:
* embed/mozilla/GtkNSSClientAuthDialogs.cpp:
* embed/mozilla/GtkNSSDialogs.cpp:
* embed/mozilla/GtkNSSKeyPairDialogs.cpp:
* embed/mozilla/GtkNSSSecurityWarningDialogs.cpp:
* embed/mozilla/PrintingPromptService.cpp:
Push a null JS context on the stack when we run a recursive
mainloop. Fixes the epiphany equivalend of camino bug
https://bugzilla.mozilla.org/show_bug.cgi?id=179307.
Diffstat (limited to 'embed/mozilla/GtkNSSDialogs.cpp')
-rw-r--r-- | embed/mozilla/GtkNSSDialogs.cpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/embed/mozilla/GtkNSSDialogs.cpp b/embed/mozilla/GtkNSSDialogs.cpp index a9c4f4c25..b9dfca829 100644 --- a/embed/mozilla/GtkNSSDialogs.cpp +++ b/embed/mozilla/GtkNSSDialogs.cpp @@ -31,6 +31,7 @@ #include "config.h" #include "EphyUtils.h" +#include "AutoJSContextStack.h" #include <nsCOMPtr.h> #include <nsMemory.h> @@ -207,6 +208,11 @@ display_cert_warning_box (nsIInterfaceRequestor *ctx, GtkWidget *dialog, *label, *checkbox, *vbox, *button; int res; + nsresult rv; + AutoJSContextStack stack; + rv = stack.Init (); + if (NS_FAILED (rv)) return rv; + /* NOTE: Due to a mozilla bug [https://bugzilla.mozilla.org/show_bug.cgi?id=306288], * we will always end up without a parent! */ @@ -539,6 +545,11 @@ GtkNSSDialogs::ConfirmDownloadCACert(nsIInterfaceRequestor *ctx, GtkWidget *dialog, *label; char *msg, *primary; + nsresult rv; + AutoJSContextStack stack; + rv = stack.Init (); + if (NS_FAILED (rv)) return rv; + nsCOMPtr<nsIDOMWindow> parent = do_GetInterface (ctx); GtkWindow *gparent = GTK_WINDOW (EphyUtils::FindGtkParent (parent)); @@ -751,6 +762,11 @@ GtkNSSDialogs::SetPKCS12FilePassword(nsIInterfaceRequestor *ctx, GtkWidget *progress; char *msg; + nsresult rv; + AutoJSContextStack stack; + rv = stack.Init (); + if (NS_FAILED (rv)) return rv; + nsCOMPtr<nsIDOMWindow> parent = do_GetInterface (ctx); GtkWindow *gparent = GTK_WINDOW (EphyUtils::FindGtkParent (parent)); @@ -869,6 +885,11 @@ GtkNSSDialogs::GetPKCS12FilePassword(nsIInterfaceRequestor *ctx, GtkWidget *dialog, *hbox, *label, *entry, *vbox; char *msg; + nsresult rv; + AutoJSContextStack stack; + rv = stack.Init (); + if (NS_FAILED (rv)) return rv; + nsCOMPtr<nsIDOMWindow> parent = do_GetInterface (ctx); GtkWindow *gparent = GTK_WINDOW (EphyUtils::FindGtkParent (parent)); @@ -1313,11 +1334,15 @@ GtkNSSDialogs::ViewCert(nsIInterfaceRequestor *ctx, GtkWidget *dialog, *widget; GladeXML *gxml; nsEmbedString value; - nsresult rv; PRUint32 verifystate, count; PRUnichar ** usage; GtkSizeGroup * sizegroup; + nsresult rv; + AutoJSContextStack stack; + rv = stack.Init (); + if (NS_FAILED (rv)) return rv; + gxml = glade_xml_new (ephy_file ("certificate-dialogs.glade"), "viewcert_dialog", NULL); g_return_val_if_fail (gxml != NULL, NS_ERROR_FAILURE); |