diff options
author | Joakim Verona <joakim@verona.se> | 2011-11-03 14:58:05 +0100 |
---|---|---|
committer | Joakim Verona <joakim@verona.se> | 2011-11-03 14:58:05 +0100 |
commit | fe118e06d872fd1149a273282cb082250346e89f (patch) | |
tree | dcc20533851158dd0457f093918f95bc02d0f79f /lisp/xwidget.el | |
parent | 1722eccee3d963c08d91afcdeebdc152d867e7bf (diff) | |
download | emacs-fe118e06d872fd1149a273282cb082250346e89f.tar.gz |
attempt to make relative urls work, but it doesnt. contains some bugfixes anyway
Diffstat (limited to 'lisp/xwidget.el')
-rw-r--r-- | lisp/xwidget.el | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/lisp/xwidget.el b/lisp/xwidget.el index 159ba5d12b0..c49b1c6738e 100644 --- a/lisp/xwidget.el +++ b/lisp/xwidget.el @@ -148,19 +148,32 @@ defaults to the string looking like a url around the cursor position." (let* ((xwidget-event-type (nth 1 last-input-event)) (xwidget (nth 2 last-input-event)) - (xwidget-callback (xwidget-get xwidget 'callback))) - (funcall xwidget-callback xwidget xwidget-event-type))) + ;(xwidget-callback (xwidget-get xwidget 'callback));;TODO stopped working for some reason + ) + ;(funcall xwidget-callback xwidget xwidget-event-type) + (funcall 'xwidget-webkit-callback xwidget xwidget-event-type) + )) (defun xwidget-webkit-callback (xwidget xwidget-event-type) (save-excursion (set-buffer (xwidget-buffer xwidget)) - (cond ((eq xwidget-event-type 'document-load-finished) - (message "webkit finished loading: '%s'" (xwidget-webkit-get-title xwidget)) - (xwidget-adjust-size-to-content xwidget) - (rename-buffer (format "*xwidget webkit: %s *" (xwidget-webkit-get-title xwidget))) - (pop-to-buffer (current-buffer)) - ) - ))) + (let* ( (strarg (nth 3 last-input-event))) + (cond ((eq xwidget-event-type 'document-load-finished) + (message "webkit finished loading: '%s'" (xwidget-webkit-get-title xwidget)) + (xwidget-adjust-size-to-content xwidget) + (rename-buffer (format "*xwidget webkit: %s *" (xwidget-webkit-get-title xwidget))) + (pop-to-buffer (current-buffer)) + ) + + ((eq xwidget-event-type 'navigation-policy-decision-requested) + (let ((elmname (progn (string-match ".*#\\(.*\\)" strarg)(match-string 1 strarg)))) + (message "navigation-policy-decision-requested: '%s' %s" strarg elmname ) + + (xwidget-webkit-show-named-element xwidget elmname) + ) + + ) + )))) (define-derived-mode xwidget-webkit-mode special-mode "xwidget-webkit" "xwidget webkit view mode" |