diff options
| -rw-r--r-- | src/xwidget.c | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/xwidget.c b/src/xwidget.c index 6ef5bff1352..b2fa6c30561 100644 --- a/src/xwidget.c +++ b/src/xwidget.c | |||
| @@ -147,7 +147,7 @@ gboolean webkit_osr_key_event_callback (GtkWidget *widget, GdkEventKey *event, g | |||
| 147 | void webkit_osr_document_load_finished_callback (WebKitWebView *webkitwebview, | 147 | void webkit_osr_document_load_finished_callback (WebKitWebView *webkitwebview, |
| 148 | WebKitWebFrame *arg1, | 148 | WebKitWebFrame *arg1, |
| 149 | gpointer user_data); | 149 | gpointer user_data); |
| 150 | void webkit_osr_download_callback (WebKitWebView *webkitwebview, | 150 | gboolean webkit_osr_download_callback (WebKitWebView *webkitwebview, |
| 151 | WebKitDownload *arg1, | 151 | WebKitDownload *arg1, |
| 152 | gpointer data); | 152 | gpointer data); |
| 153 | 153 | ||
| @@ -424,7 +424,7 @@ gboolean webkit_osr_key_event_callback (GtkWidget *widget, GdkEventKey *event, g | |||
| 424 | return TRUE; | 424 | return TRUE; |
| 425 | } | 425 | } |
| 426 | 426 | ||
| 427 | 427 | //TODO deprecated, use load-status | |
| 428 | void webkit_osr_document_load_finished_callback (WebKitWebView *webkitwebview, | 428 | void webkit_osr_document_load_finished_callback (WebKitWebView *webkitwebview, |
| 429 | WebKitWebFrame *arg1, | 429 | WebKitWebFrame *arg1, |
| 430 | gpointer data) | 430 | gpointer data) |
| @@ -448,11 +448,30 @@ void webkit_osr_document_load_finished_callback (WebKitWebView *webkitwebvi | |||
| 448 | 448 | ||
| 449 | } | 449 | } |
| 450 | 450 | ||
| 451 | void webkit_osr_download_callback (WebKitWebView *webkitwebview, | 451 | gboolean webkit_osr_download_callback (WebKitWebView *webkitwebview, |
| 452 | WebKitDownload *arg1, | 452 | WebKitDownload *arg1, |
| 453 | gpointer data) | 453 | gpointer data) |
| 454 | { | 454 | { |
| 455 | printf("download requested %s\n", webkit_download_get_uri (arg1)); | 455 | printf("download requested %s\n", webkit_download_get_uri (arg1)); |
| 456 | //TODO this event sending code should be refactored | ||
| 457 | struct input_event event; | ||
| 458 | // struct xwidget *xw = (struct xwidget *) data; | ||
| 459 | struct xwidget* xw = (struct xwidget*) g_object_get_data (G_OBJECT (webkitwebview), XG_XWIDGET); | ||
| 460 | printf("webkit finished loading\n"); | ||
| 461 | |||
| 462 | EVENT_INIT (event); | ||
| 463 | event.kind = XWIDGET_EVENT; | ||
| 464 | event.frame_or_window = Qnil; //frame; //how to get the frame here? //TODO i store it in the xwidget now | ||
| 465 | |||
| 466 | event.arg = Qnil; | ||
| 467 | event.arg = Fcons (intern (webkit_download_get_uri (arg1)), event.arg); | ||
| 468 | event.arg = Fcons ((Lisp_Object)xw, event.arg); //TODO | ||
| 469 | event.arg = Fcons (intern ("download-requested"), event.arg); | ||
| 470 | |||
| 471 | |||
| 472 | kbd_buffer_store_event (&event); | ||
| 473 | |||
| 474 | |||
| 456 | return FALSE; | 475 | return FALSE; |
| 457 | } | 476 | } |
| 458 | 477 | ||