diff options
Diffstat (limited to 'src/ephy-window.c')
-rw-r--r-- | src/ephy-window.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ephy-window.c b/src/ephy-window.c index 59a06c72d..61cc17c8c 100644 --- a/src/ephy-window.c +++ b/src/ephy-window.c @@ -2529,10 +2529,18 @@ policy_decision_required_cb (WebKitWebView *web_view, WebKitWebNavigationReason reason; gint button; gint state; + const char *uri; reason = webkit_web_navigation_action_get_reason (action); button = webkit_web_navigation_action_get_button (action); state = webkit_web_navigation_action_get_modifier_state (action); + uri = webkit_network_request_get_uri (request); + + if (g_str_has_prefix (uri, "mailto:")) { + webkit_web_policy_decision_ignore (decision); + gtk_show_uri (NULL, uri, GDK_CURRENT_TIME, NULL); + return TRUE; + } /* Open in new tab for middle click or ctrl+click */ if (reason == WEBKIT_WEB_NAVIGATION_REASON_LINK_CLICKED && |