summaryrefslogtreecommitdiff
path: root/lisp/xwidget.el
diff options
context:
space:
mode:
authorJoakim Verona <joakim@verona.se>2011-11-03 14:58:05 +0100
committerJoakim Verona <joakim@verona.se>2011-11-03 14:58:05 +0100
commitfe118e06d872fd1149a273282cb082250346e89f (patch)
treedcc20533851158dd0457f093918f95bc02d0f79f /lisp/xwidget.el
parent1722eccee3d963c08d91afcdeebdc152d867e7bf (diff)
downloademacs-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.el31
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"