diff options
author | Puneeth Chaganti <punchagan@muse-amuse.in> | 2020-08-11 16:23:10 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2020-08-11 16:23:10 +0200 |
commit | be0fecf81911622ad166be00c59900033fcfde71 (patch) | |
tree | 21089d677e3c1d1f82410811ba3354a29dd0d9a2 /lisp/xwidget.el | |
parent | 9b9473ad755da13cb74bf33c99c081f39eec6e08 (diff) | |
download | emacs-be0fecf81911622ad166be00c59900033fcfde71.tar.gz |
Allow specifying the callback in new xwidget sessions
* lisp/xwidget.el (xwidget-webkit-new-session): Optional callback
arg (bug#24019).
(xwidget-event-handler): Respect the 'callback parameter.
Diffstat (limited to 'lisp/xwidget.el')
-rw-r--r-- | lisp/xwidget.el | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/lisp/xwidget.el b/lisp/xwidget.el index aed6c09122c..a4c15a1e266 100644 --- a/lisp/xwidget.el +++ b/lisp/xwidget.el @@ -207,12 +207,8 @@ Interactively, URL defaults to the string looking like a url around point." (let* ((xwidget-event-type (nth 1 last-input-event)) (xwidget (nth 2 last-input-event)) - ;;(xwidget-callback (xwidget-get xwidget 'callback)) - ;;TODO stopped working for some reason - ) - ;;(funcall xwidget-callback xwidget xwidget-event-type) - (message "xw callback %s" xwidget) - (funcall 'xwidget-webkit-callback xwidget xwidget-event-type))) + (xwidget-callback (xwidget-get xwidget 'callback))) + (funcall xwidget-callback xwidget xwidget-event-type))) (defun xwidget-webkit-callback (xwidget xwidget-event-type) "Callback for xwidgets. @@ -481,10 +477,11 @@ For example, use this to display an anchor." (add-to-list 'window-size-change-functions 'xwidget-webkit-adjust-size-in-frame)) -(defun xwidget-webkit-new-session (url) +(defun xwidget-webkit-new-session (url &optional callback) "Create a new webkit session buffer with URL." (let* ((bufname (generate-new-buffer-name "*xwidget-webkit*")) + (callback (or callback #'xwidget-webkit-callback)) xw) (setq xwidget-webkit-last-session-buffer (switch-to-buffer (get-buffer-create bufname))) @@ -494,7 +491,7 @@ For example, use this to display an anchor." (setq xw (xwidget-insert 1 'webkit bufname (window-pixel-width) (window-pixel-height))) - (xwidget-put xw 'callback 'xwidget-webkit-callback) + (xwidget-put xw 'callback callback) (xwidget-webkit-mode) (xwidget-webkit-goto-uri (xwidget-webkit-last-session) url))) |