diff options
| author | Po Lu | 2021-11-20 18:23:02 +0800 |
|---|---|---|
| committer | Po Lu | 2021-11-20 18:24:43 +0800 |
| commit | fbf361f593df52ff414a4483f105e2e4c1a921e2 (patch) | |
| tree | d3da8d4e8060b6285a6ef57a5c2f236ded6b384a /src | |
| parent | 2ba7d1e84e76fa4d08fd8ed5a915793d4bf881cd (diff) | |
| download | emacs-fbf361f593df52ff414a4483f105e2e4c1a921e2.tar.gz emacs-fbf361f593df52ff414a4483f105e2e4c1a921e2.zip | |
Allow terminating page loading operations in webkit xwidgets
* doc/lispref/display.texi (Xwidgets): Document new function.
* etc/NEWS: Announce `xwidget-webkit-stop-loading'.
* src/xwidget.c (Fxwidget_webkit_stop_loading): New function.
(syms_of_xwidget): Define new subr.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xwidget.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/xwidget.c b/src/xwidget.c index 8cad2fbc2c1..b1bf291a168 100644 --- a/src/xwidget.c +++ b/src/xwidget.c | |||
| @@ -2615,6 +2615,30 @@ store cookies in FILE and load them from there. */) | |||
| 2615 | return Qnil; | 2615 | return Qnil; |
| 2616 | } | 2616 | } |
| 2617 | 2617 | ||
| 2618 | DEFUN ("xwidget-webkit-stop-loading", Fxwidget_webkit_stop_loading, | ||
| 2619 | Sxwidget_webkit_stop_loading, | ||
| 2620 | 1, 1, 0, doc: /* Stop loading data in the WebKit widget XWIDGET. | ||
| 2621 | This will stop any data transfer that may still be in progress inside | ||
| 2622 | XWIDGET as part of loading a page. */) | ||
| 2623 | (Lisp_Object xwidget) | ||
| 2624 | { | ||
| 2625 | #ifdef USE_GTK | ||
| 2626 | struct xwidget *xw; | ||
| 2627 | WebKitWebView *webview; | ||
| 2628 | |||
| 2629 | CHECK_LIVE_XWIDGET (xwidget); | ||
| 2630 | xw = XXWIDGET (xwidget); | ||
| 2631 | CHECK_WEBKIT_WIDGET (xw); | ||
| 2632 | |||
| 2633 | block_input (); | ||
| 2634 | webview = WEBKIT_WEB_VIEW (xw->widget_osr); | ||
| 2635 | webkit_web_view_stop_loading (webview); | ||
| 2636 | unblock_input (); | ||
| 2637 | #endif | ||
| 2638 | |||
| 2639 | return Qnil; | ||
| 2640 | } | ||
| 2641 | |||
| 2618 | void | 2642 | void |
| 2619 | syms_of_xwidget (void) | 2643 | syms_of_xwidget (void) |
| 2620 | { | 2644 | { |
| @@ -2656,6 +2680,7 @@ syms_of_xwidget (void) | |||
| 2656 | defsubr (&Sxwidget_webkit_previous_result); | 2680 | defsubr (&Sxwidget_webkit_previous_result); |
| 2657 | defsubr (&Sset_xwidget_buffer); | 2681 | defsubr (&Sset_xwidget_buffer); |
| 2658 | defsubr (&Sxwidget_webkit_set_cookie_storage_file); | 2682 | defsubr (&Sxwidget_webkit_set_cookie_storage_file); |
| 2683 | defsubr (&Sxwidget_webkit_stop_loading); | ||
| 2659 | #ifdef USE_GTK | 2684 | #ifdef USE_GTK |
| 2660 | defsubr (&Sxwidget_webkit_load_html); | 2685 | defsubr (&Sxwidget_webkit_load_html); |
| 2661 | defsubr (&Sxwidget_webkit_back_forward_list); | 2686 | defsubr (&Sxwidget_webkit_back_forward_list); |