static WebKitWebView *view;
+static gboolean new_window_requested_cbk(WebKitWebView *view,
+ WebKitWebFrame *frame,
+ WebKitNetworkRequest *rq,
+ WebKitWebNavigationAction *action,
+ WebKitWebPolicyDecision *decision)
+{
+ webkit_web_view_load_uri(view, webkit_network_request_get_uri(rq));
+
+ webkit_web_policy_decision_ignore(decision);
+
+ return TRUE;
+}
+
GtkWidget *web_get_widget()
{
- if (!view)
+ if (!view) {
view = WEBKIT_WEB_VIEW(webkit_web_view_new());
+ g_signal_connect(view,
+ "new-window-policy-decision-requested",
+ G_CALLBACK(new_window_requested_cbk),
+ view);
+
+ }
return GTK_WIDGET(view);
}