]> git.eshelyaron.com Git - emacs.git/commitdiff
xwidget: Get title via asynchronous JavaScript.
authorRicardo Wurmus <rekado@elephly.net>
Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 26 Oct 2016 06:07:13 +0000 (23:07 -0700)
* lisp/xwidget.el (xwidget-webkit-callback): Get document title
asynchronously.

lisp/xwidget.el

index a252fd75d4be6fc4038b9e86f398e31ab47ab022..133336533a8d5b2bb55456a2f31475d1aa9c2d36 100644 (file)
@@ -194,13 +194,14 @@ XWIDGET instance, XWIDGET-EVENT-TYPE depends on the originating xwidget."
        "error: callback called for xwidget with dead buffer")
     (with-current-buffer (xwidget-buffer xwidget)
       (cond ((eq xwidget-event-type 'load-changed)
-             (xwidget-log "webkit finished loading: '%s'"
-                          (xwidget-webkit-get-title xwidget))
-             ;;TODO - check the native/internal scroll
-             ;;(xwidget-adjust-size-to-content xwidget)
-             (xwidget-webkit-adjust-size-dispatch) ;;TODO xwidget arg
-             (rename-buffer (format "*xwidget webkit: %s *"
-                                    (xwidget-webkit-get-title xwidget)))
+             (xwidget-webkit-execute-script
+              xwidget "document.title"
+              (lambda (title)
+                (xwidget-log "webkit finished loading: '%s'" title)
+                ;;TODO - check the native/internal scroll
+                ;;(xwidget-adjust-size-to-content xwidget)
+                (xwidget-webkit-adjust-size-dispatch) ;;TODO xwidget arg
+                (rename-buffer (format "*xwidget webkit: %s *" title))))
              (pop-to-buffer (current-buffer)))
             ((eq xwidget-event-type 'decide-policy)
              (let ((strarg  (nth 3 last-input-event)))