aboutsummaryrefslogtreecommitdiffstats
path: root/embed/mozilla/ContentHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'embed/mozilla/ContentHandler.cpp')
-rw-r--r--embed/mozilla/ContentHandler.cpp12
1 files changed, 12 insertions, 0 deletions
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);