diff options
Diffstat (limited to 'src/xwidget.c')
| -rw-r--r-- | src/xwidget.c | 55 |
1 files changed, 54 insertions, 1 deletions
diff --git a/src/xwidget.c b/src/xwidget.c index b2fa6c30561..271cbd07f2d 100644 --- a/src/xwidget.c +++ b/src/xwidget.c | |||
| @@ -97,6 +97,7 @@ | |||
| 97 | #include <webkit/webkitwebplugindatabase.h> | 97 | #include <webkit/webkitwebplugindatabase.h> |
| 98 | #include <webkit/webkitwebplugin.h> | 98 | #include <webkit/webkitwebplugin.h> |
| 99 | #include <webkit/webkitglobals.h> | 99 | #include <webkit/webkitglobals.h> |
| 100 | #include <webkit/webkitwebnavigationaction.h> | ||
| 100 | #endif | 101 | #endif |
| 101 | 102 | ||
| 102 | #include "xwidget.h" | 103 | #include "xwidget.h" |
| @@ -157,6 +158,23 @@ gboolean webkit_osr_mime_type_policy_typedecision_requested_callback(WebKitWebV | |||
| 157 | gchar *mimetype, | 158 | gchar *mimetype, |
| 158 | WebKitWebPolicyDecision *policy_decision, | 159 | WebKitWebPolicyDecision *policy_decision, |
| 159 | gpointer user_data); | 160 | gpointer user_data); |
| 161 | |||
| 162 | gboolean webkit_osr_new_window_policy_decision_requested_callback(WebKitWebView *webView, | ||
| 163 | WebKitWebFrame *frame, | ||
| 164 | WebKitNetworkRequest *request, | ||
| 165 | WebKitWebNavigationAction *navigation_action, | ||
| 166 | WebKitWebPolicyDecision *policy_decision, | ||
| 167 | gpointer user_data); | ||
| 168 | |||
| 169 | |||
| 170 | gboolean webkit_osr_navigation_policy_decision_requested_callback(WebKitWebView *webView, | ||
| 171 | WebKitWebFrame *frame, | ||
| 172 | WebKitNetworkRequest *request, | ||
| 173 | WebKitWebNavigationAction *navigation_action, | ||
| 174 | WebKitWebPolicyDecision *policy_decision, | ||
| 175 | gpointer user_data); | ||
| 176 | |||
| 177 | |||
| 160 | DEFUN ("make-xwidget", Fmake_xwidget, Smake_xwidget, 7, 7, 0, | 178 | DEFUN ("make-xwidget", Fmake_xwidget, Smake_xwidget, 7, 7, 0, |
| 161 | doc: /* xw */ | 179 | doc: /* xw */ |
| 162 | ) | 180 | ) |
| @@ -228,12 +246,23 @@ DEFUN ("make-xwidget", Fmake_xwidget, Smake_xwidget, 7, 7, 0, | |||
| 228 | G_CALLBACK (webkit_osr_mime_type_policy_typedecision_requested_callback), | 246 | G_CALLBACK (webkit_osr_mime_type_policy_typedecision_requested_callback), |
| 229 | xw); | 247 | xw); |
| 230 | 248 | ||
| 231 | 249 | g_signal_connect (G_OBJECT ( xw->widget_osr), | |
| 250 | "new-window-policy-decision-requested", | ||
| 251 | G_CALLBACK (webkit_osr_new_window_policy_decision_requested_callback), | ||
| 252 | xw); | ||
| 253 | |||
| 254 | g_signal_connect (G_OBJECT ( xw->widget_osr), | ||
| 255 | "navigation-policy-decision-requested", | ||
| 256 | G_CALLBACK (webkit_osr_navigation_policy_decision_requested_callback), | ||
| 257 | xw); | ||
| 258 | |||
| 259 | |||
| 232 | webkit_web_view_load_uri(WEBKIT_WEB_VIEW(xw->widget_osr), "http://www.fsf.org"); | 260 | webkit_web_view_load_uri(WEBKIT_WEB_VIEW(xw->widget_osr), "http://www.fsf.org"); |
| 233 | UNBLOCK_INPUT; | 261 | UNBLOCK_INPUT; |
| 234 | 262 | ||
| 235 | } | 263 | } |
| 236 | #endif | 264 | #endif |
| 265 | |||
| 237 | if (EQ(xw->type, Qsocket_osr)){ | 266 | if (EQ(xw->type, Qsocket_osr)){ |
| 238 | printf("init socket osr\n"); | 267 | printf("init socket osr\n"); |
| 239 | BLOCK_INPUT; | 268 | BLOCK_INPUT; |
| @@ -492,6 +521,30 @@ gboolean webkit_osr_mime_type_policy_typedecision_requested_callback(WebKitWebV | |||
| 492 | } | 521 | } |
| 493 | 522 | ||
| 494 | 523 | ||
| 524 | gboolean webkit_osr_new_window_policy_decision_requested_callback(WebKitWebView *webView, | ||
| 525 | WebKitWebFrame *frame, | ||
| 526 | WebKitNetworkRequest *request, | ||
| 527 | WebKitWebNavigationAction *navigation_action, | ||
| 528 | WebKitWebPolicyDecision *policy_decision, | ||
| 529 | gpointer user_data) | ||
| 530 | { | ||
| 531 | printf("webkit_osr_new_window_policy_decision_requested_callback %s\n", | ||
| 532 | webkit_web_navigation_action_get_original_uri (navigation_action)); | ||
| 533 | |||
| 534 | return FALSE; | ||
| 535 | } | ||
| 536 | |||
| 537 | gboolean webkit_osr_navigation_policy_decision_requested_callback(WebKitWebView *webView, | ||
| 538 | WebKitWebFrame *frame, | ||
| 539 | WebKitNetworkRequest *request, | ||
| 540 | WebKitWebNavigationAction *navigation_action, | ||
| 541 | WebKitWebPolicyDecision *policy_decision, | ||
| 542 | gpointer user_data) | ||
| 543 | { | ||
| 544 | printf("webkit_osr_navigation_policy_decision_requested_callback\n"); | ||
| 545 | return FALSE; | ||
| 546 | } | ||
| 547 | |||
| 495 | //for gtk3 webkit_osr | 548 | //for gtk3 webkit_osr |
| 496 | gboolean | 549 | gboolean |
| 497 | xwidget_osr_draw_callback (GtkWidget *widget, cairo_t *cr, gpointer data) | 550 | xwidget_osr_draw_callback (GtkWidget *widget, cairo_t *cr, gpointer data) |