aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Verona2015-01-28 01:02:43 +0100
committerJoakim Verona2015-01-28 01:02:43 +0100
commitac94737e8d0d4ae737ce15b62c8aab23d759ba72 (patch)
treec420c100699d1f446d7773625f77d46b31ec2e96
parent2a9de013720d8505369b42c7c110116ec822281f (diff)
downloademacs-ac94737e8d0d4ae737ce15b62c8aab23d759ba72.tar.gz
emacs-ac94737e8d0d4ae737ce15b62c8aab23d759ba72.zip
First attempt at bookmark support
-rw-r--r--lisp/xwidget.el11
1 files changed, 10 insertions, 1 deletions
diff --git a/lisp/xwidget.el b/lisp/xwidget.el
index 4ea21396103..4471b122177 100644
--- a/lisp/xwidget.el
+++ b/lisp/xwidget.el
@@ -1,4 +1,4 @@
1;;; xwidget.el --- api functions for xwidgets 1p;;; xwidget.el --- api functions for xwidgets -*- lexical-binding: t -*-
2;; see xwidget.c for more api functions 2;; see xwidget.c for more api functions
3 3
4 4
@@ -224,12 +224,21 @@ XWIDGET instance, XWIDGET-EVENT-TYPE depends on the originating xwidget."
224 (t (xwidget-log "unhandled event:%s" xwidget-event-type))))) 224 (t (xwidget-log "unhandled event:%s" xwidget-event-type)))))
225 (t (xwidget-log "error: callback called for xwidget with dead buffer"))))) 225 (t (xwidget-log "error: callback called for xwidget with dead buffer")))))
226 226
227(defvar bookmark-make-record-function)
227(define-derived-mode xwidget-webkit-mode 228(define-derived-mode xwidget-webkit-mode
228 special-mode "xwidget-webkit" "xwidget webkit view mode" 229 special-mode "xwidget-webkit" "xwidget webkit view mode"
229 (setq buffer-read-only t) 230 (setq buffer-read-only t)
231 (setq-local bookmark-make-record-function
232 #'xwidget-webkit-bookmark-make-record)
230 ;; Keep track of [vh]scroll when switching buffers 233 ;; Keep track of [vh]scroll when switching buffers
231 (image-mode-setup-winprops)) 234 (image-mode-setup-winprops))
232 235
236(defun xwidget-webkit-bookmark-make-record ()
237 (nconc (bookmark-make-record-default t t)
238 `((page . ,(xwidget-webkit-current-url))
239 (handler . (lambda (bmk) (browse-url (bookmark-prop-get bmk 'page)))))))
240
241
233(defvar xwidget-webkit-last-session-buffer nil) 242(defvar xwidget-webkit-last-session-buffer nil)
234 243
235(defun xwidget-webkit-last-session () 244(defun xwidget-webkit-last-session ()