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.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/embed/mozilla/ContentHandler.cpp b/embed/mozilla/ContentHandler.cpp
index 8f0267d33..dc4382943 100644
--- a/embed/mozilla/ContentHandler.cpp
+++ b/embed/mozilla/ContentHandler.cpp
@@ -73,17 +73,26 @@ NS_IMETHODIMP GContentHandler::Show(nsIHelperAppLauncher *aLauncher,
nsISupports *aContext)
#endif
{
- /* aForced reflects if the content being sent is normally viewable
- * in mozilla or not. That fact doesn't affect us, so ignore it
- */
-
nsresult rv;
+ EphyEmbedSingle *single;
+ gboolean handled = FALSE;
mLauncher = aLauncher;
rv = Init ();
if (NS_FAILED (rv)) return rv;
-
- MIMEAskAction ();
+
+ single = ephy_embed_shell_get_embed_single (embed_shell);
+ g_signal_emit_by_name (single, "handle_content", mMimeType,
+ mUrl.get(), &handled);
+
+ if (!handled)
+ {
+ MIMEAskAction ();
+ }
+ else
+ {
+ mLauncher->Cancel ();
+ }
return NS_OK;
}