summaryrefslogtreecommitdiff
path: root/libyelp/yelp-view.c
diff options
context:
space:
mode:
authorMarcos Chavarría Teijeiro <chavarria1991@gmail.com>2014-09-10 13:41:19 +0200
committerDavid King <amigadave@amigadave.com>2015-06-22 10:39:52 +0100
commit9bae912e121e600c423ec64ea9e39622e2243599 (patch)
treec6a4199fd68ff9c247828145d37bf1958bc49624 /libyelp/yelp-view.c
parent3f6aa816e666dfeb7e409460553da292ef9cffb3 (diff)
downloadyelp-9bae912e121e600c423ec64ea9e39622e2243599.tar.gz
yelp-view: Replace "navigation-policy-decision-requested" signal by "decide-policy" signal
WK2 only has a signal for policy decisions.
Diffstat (limited to 'libyelp/yelp-view.c')
-rw-r--r--libyelp/yelp-view.c33
1 files changed, 17 insertions, 16 deletions
diff --git a/libyelp/yelp-view.c b/libyelp/yelp-view.c
index 5528997c..f3161b2c 100644
--- a/libyelp/yelp-view.c
+++ b/libyelp/yelp-view.c
@@ -86,12 +86,10 @@ static void view_script_alert (YelpView *view,
WebKitWebFrame *frame,
gchar *message,
gpointer data);
-static gboolean view_navigation_requested (WebKitWebView *view,
- WebKitWebFrame *frame,
- WebKitNetworkRequest *request,
- WebKitWebNavigationAction *action,
- WebKitWebPolicyDecision *decision,
- gpointer user_data);
+static gboolean view_policy_decision_requested (YelpView *view,
+ WebKitPolicyDecision *decision,
+ WebKitPolicyDecisionType type,
+ gpointer user_data);
static void view_resource_request (WebKitWebView *view,
WebKitWebFrame *frame,
WebKitWebResource *resource,
@@ -266,8 +264,8 @@ yelp_view_init (YelpView *view)
}
priv->navigation_requested =
- g_signal_connect (view, "navigation-policy-decision-requested",
- G_CALLBACK (view_navigation_requested), NULL);
+ g_signal_connect (view, "decide-policy",
+ G_CALLBACK (view_policy_decision_requested), NULL);
g_signal_connect (view, "resource-request-starting",
G_CALLBACK (view_resource_request), NULL);
g_signal_connect (view, "document-load-finished",
@@ -1484,15 +1482,18 @@ view_script_alert (YelpView *view,
}
static gboolean
-view_navigation_requested (WebKitWebView *view,
- WebKitWebFrame *frame,
- WebKitNetworkRequest *request,
- WebKitWebNavigationAction *action,
- WebKitWebPolicyDecision *decision,
- gpointer user_data)
+view_policy_decision_requested (YelpView *view,
+ WebKitPolicyDecision *decision,
+ WebKitPolicyDecisionType type,
+ gpointer user_data)
{
- const gchar *requri = webkit_network_request_get_uri (request);
+ if (type != WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION)
+ return FALSE;
+
YelpViewPrivate *priv = GET_PRIV (view);
+ WebKitNavigationPolicyDecision *navigation_decision = WEBKIT_NAVIGATION_POLICY_DECISION (decision);
+ WebKitURIRequest *request = webkit_navigation_policy_decision_get_request (navigation_decision);
+ const gchar *requri = webkit_uri_request_get_uri (request);
YelpUri *uri;
if (priv->bogus_uri &&
@@ -1508,7 +1509,7 @@ view_navigation_requested (WebKitWebView *view,
else
uri = yelp_uri_new_relative (priv->uri, requri);
- webkit_web_policy_decision_ignore (decision);
+ webkit_policy_decision_ignore (decision);
yelp_view_load_uri ((YelpView *) view, uri);
g_object_unref (uri);