diff options
| author | Joakim Verona | 2015-01-28 01:02:43 +0100 |
|---|---|---|
| committer | Joakim Verona | 2015-01-28 01:02:43 +0100 |
| commit | ac94737e8d0d4ae737ce15b62c8aab23d759ba72 (patch) | |
| tree | c420c100699d1f446d7773625f77d46b31ec2e96 | |
| parent | 2a9de013720d8505369b42c7c110116ec822281f (diff) | |
| download | emacs-ac94737e8d0d4ae737ce15b62c8aab23d759ba72.tar.gz emacs-ac94737e8d0d4ae737ce15b62c8aab23d759ba72.zip | |
First attempt at bookmark support
| -rw-r--r-- | lisp/xwidget.el | 11 |
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 | 1 | p;;; 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 () |