aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--embed/mozilla/ContentHandler.cpp12
2 files changed, 18 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 28bfdc47f..cb34435e5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-01-28 Jean-François Rameau <jframeau@cvs.gnome.org>
+
+ * embed/mozilla/ContentHandler.cpp: (GContentHandler::Show):
+
+ Check for a potential veto. Fix #342951.
+
2007-01-28 Christian Persch <chpe@svn.gnome.org>
* lib/ephy-node.c: (safe_write_string), (ephy_node_write_to_xml):
diff --git a/embed/mozilla/ContentHandler.cpp b/embed/mozilla/ContentHandler.cpp
index 7815b5da8..dd190f0c0 100644
--- a/embed/mozilla/ContentHandler.cpp
+++ b/embed/mozilla/ContentHandler.cpp
@@ -93,6 +93,18 @@ GContentHandler::Show (nsIHelperAppLauncher *aLauncher,
/* FIXME: handle aForced / aReason argument in some way? */
mContext = aContext;
+
+ /* Check for a potential veto */
+ nsCOMPtr<nsIDOMWindow> window (do_GetInterface (aContext));
+ GtkWidget *embed = EphyUtils::FindEmbed (window);
+ if (EPHY_IS_EMBED (embed))
+ {
+ if (g_object_get_data (G_OBJECT (embed), "content-handler-deny"))
+ {
+ return NS_OK;
+ }
+ }
+
mLauncher = aLauncher;
rv = Init ();
NS_ENSURE_SUCCESS (rv, rv);