diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | embed/mozilla/ContentHandler.cpp | 12 |
2 files changed, 18 insertions, 0 deletions
@@ -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); |