[devhelp] Window: improve a little the code of web_view_decide_policy_cb()
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devhelp] Window: improve a little the code of web_view_decide_policy_cb()
- Date: Mon, 14 May 2018 19:20:14 +0000 (UTC)
commit f083f25c43c64d2e60d89824fc5209caf6e78a79
Author: Sébastien Wilmet <swilmet gnome org>
Date: Mon May 14 17:42:54 2018 +0200
Window: improve a little the code of web_view_decide_policy_cb()
src/dh-window.c | 18 ++++++++++++++----
1 files changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/src/dh-window.c b/src/dh-window.c
index d2f2ab5..a704996 100644
--- a/src/dh-window.c
+++ b/src/dh-window.c
@@ -995,7 +995,7 @@ web_view_decide_policy_cb (WebKitWebView *web_view,
WebKitPolicyDecisionType type,
DhWindow *window)
{
- const char *uri;
+ const gchar *uri;
WebKitNavigationPolicyDecision *navigation_decision;
WebKitNavigationAction *navigation_action;
gchar *local_uri;
@@ -1008,6 +1008,7 @@ web_view_decide_policy_cb (WebKitWebView *web_view,
navigation_decision = WEBKIT_NAVIGATION_POLICY_DECISION (policy_decision);
navigation_action = webkit_navigation_policy_decision_get_navigation_action (navigation_decision);
uri = webkit_uri_request_get_uri (webkit_navigation_action_get_request (navigation_action));
+ g_return_val_if_fail (uri != NULL, GDK_EVENT_PROPAGATE);
/* middle click or ctrl-click -> new tab */
button = webkit_navigation_action_get_mouse_button (navigation_action);
@@ -1018,9 +1019,8 @@ web_view_decide_policy_cb (WebKitWebView *web_view,
return GDK_EVENT_STOP;
}
- if (g_str_equal (uri, "about:blank")) {
+ if (g_str_equal (uri, "about:blank"))
return GDK_EVENT_PROPAGATE;
- }
local_uri = find_equivalent_local_uri (uri);
if (local_uri != NULL) {
@@ -1031,8 +1031,18 @@ web_view_decide_policy_cb (WebKitWebView *web_view,
}
if (!g_str_has_prefix (uri, "file://")) {
+ GError *error = NULL;
+
webkit_policy_decision_ignore (policy_decision);
- gtk_show_uri_on_window (GTK_WINDOW (window), uri, GDK_CURRENT_TIME, NULL);
+ gtk_show_uri_on_window (GTK_WINDOW (window), uri, GDK_CURRENT_TIME, &error);
+
+ if (error != NULL) {
+ g_warning ("Error when opening URI “%s” externally: %s",
+ uri,
+ error->message);
+ g_clear_error (&error);
+ }
+
return GDK_EVENT_STOP;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]