aboutsummaryrefslogtreecommitdiffstats
path: root/embed/mozilla/GtkNSSSecurityWarningDialogs.cpp
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2006-07-06 21:22:35 +0800
committerChristian Persch <chpe@src.gnome.org>2006-07-06 21:22:35 +0800
commitd86cac67a766a04b93c94365ff162f64a1954644 (patch)
treef37e82765868a2343b94dd4574c826ad05780e9f /embed/mozilla/GtkNSSSecurityWarningDialogs.cpp
parent942d6ff58714449de8ad005313811db0b3177a4d (diff)
downloadgsoc2013-epiphany-d86cac67a766a04b93c94365ff162f64a1954644.tar
gsoc2013-epiphany-d86cac67a766a04b93c94365ff162f64a1954644.tar.gz
gsoc2013-epiphany-d86cac67a766a04b93c94365ff162f64a1954644.tar.bz2
gsoc2013-epiphany-d86cac67a766a04b93c94365ff162f64a1954644.tar.lz
gsoc2013-epiphany-d86cac67a766a04b93c94365ff162f64a1954644.tar.xz
gsoc2013-epiphany-d86cac67a766a04b93c94365ff162f64a1954644.tar.zst
gsoc2013-epiphany-d86cac67a766a04b93c94365ff162f64a1954644.zip
A embed/mozilla/AutoWindowModalState.cpp: A
2006-07-06 Christian Persch <chpe@cvs.gnome.org> A embed/mozilla/AutoWindowModalState.cpp: A embed/mozilla/AutoWindowModalState.h: * embed/mozilla/ContentHandler.cpp: * embed/mozilla/EphyPromptService.cpp: * embed/mozilla/FilePicker.cpp: * embed/mozilla/FilePicker.h: * embed/mozilla/GtkNSSClientAuthDialogs.cpp: * embed/mozilla/GtkNSSDialogs.cpp: * embed/mozilla/GtkNSSKeyPairDialogs.cpp: * embed/mozilla/GtkNSSSecurityWarningDialogs.cpp: * embed/mozilla/Makefile.am: Prevent DOM window closure while we display a modal dialogue on it.
Diffstat (limited to 'embed/mozilla/GtkNSSSecurityWarningDialogs.cpp')
-rw-r--r--embed/mozilla/GtkNSSSecurityWarningDialogs.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/embed/mozilla/GtkNSSSecurityWarningDialogs.cpp b/embed/mozilla/GtkNSSSecurityWarningDialogs.cpp
index fca676a52..125b2e611 100644
--- a/embed/mozilla/GtkNSSSecurityWarningDialogs.cpp
+++ b/embed/mozilla/GtkNSSSecurityWarningDialogs.cpp
@@ -61,6 +61,7 @@
#include <nsServiceManagerUtils.h>
#include "AutoJSContextStack.h"
+#include "AutoWindowModalState.h"
#include "EphyUtils.h"
#include "GtkNSSSecurityWarningDialogs.h"
@@ -226,21 +227,18 @@ GtkNSSSecurityWarningDialogs::DoDialog (nsIInterfaceRequestor *aContext,
return;
}
- AutoJSContextStack stack;
- rv = stack.Init ();
- if (NS_FAILED (rv)) return;
-
- /* Didn't you know it, mozilla SUCKS!
- * the "aContext" interface requestor is made from a nsIDOMWindow,
- * but can only give out a nsIPrompt, from where there's no way to get
- * the nsIDOMWindow back! Therefore we cannot display this dialogue with
- * a parent, and HAVE TO make it modal.
+ /* On 1.8.0, domWin will be always nsnull, because of
* https://bugzilla.mozilla.org/show_bug.cgi?id=277587
*/
- /* domWin will be always nsnull, until the mozilla bug is fixed */
nsCOMPtr<nsIDOMWindow> domWin (do_GetInterface (aContext));
GtkWidget *parent = EphyUtils::FindGtkParent (domWin);
+ AutoJSContextStack stack;
+ rv = stack.Init ();
+ if (NS_FAILED (rv)) return;
+
+ AutoWindowModalState modalState (domWin);
+
GtkWidget *dialog = gtk_message_dialog_new (GTK_WINDOW (parent),
GTK_DIALOG_MODAL, aType,
aButtons, aPrimary);