;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301!\210\300\302!\207" [require cl-lib bookmark] 2)
#@290 Insert an xwidget at position POS.
Supply the xwidget's TYPE, TITLE, WIDTH, and HEIGHT.
See `make-xwidget' for the possible TYPE values.
The usage of optional argument ARGS depends on the xwidget.
This returns the result of `make-xwidget'.
(fn POS TYPE TITLE WIDTH HEIGHT &optional ARGS)
(defalias 'xwidget-insert #[1541 "b\210\300%\301``T\302\303\304E$\210\211\207" [make-xwidget put-text-property display xwidget :xwidget] 14 (#$ . 478)])
#@34 Return xwidget at POS.
(fn POS)
(defalias 'xwidget-at #[257 "\300\301\"\211AA@@\302\232\205 \211\207" [get-text-property display xwidget] 5 (#$ . 934)])
(byte-code "\300\301!\210\300\302!\207" [require browse-url image-mode] 2)
#@212 Ask xwidget-webkit to browse URL.
NEW-SESSION specifies whether to create a new xwidget-webkit session.
Interactively, URL defaults to the string looking like a url around point.
(fn URL &optional NEW-SESSION)
(defalias 'xwidget-webkit-browse-url #[513 "\300\301!\204\n \302\303!\210;\205 \211\203 \304!\207\305!\207" [featurep xwidget-internal user-error "Your Emacs was not compiled with xwidgets support" xwidget-webkit-new-session xwidget-webkit-goto-url] 4 (#$ . 1173) (byte-code "\300\301!\210\302\303!\207" [require browse-url browse-url-interactive-arg "xwidget-webkit URL: "] 2)])
#@35 Keymap for `xwidget-webkit-mode'.
(defvar xwidget-webkit-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\325#\210\301\326\327#\210\301\330\325#\210\301\331\325#\210\301\332\327#\210\301\333\327#\210\301\334\335#\210\301\336\337#\210\301\340\335#\210\301\341\337#\210\301\342\327#\210\301\343\325#\210\301\344\345#\210\301\346\347#\210\211\207" [make-sparse-keymap define-key "g" xwidget-webkit-browse-url "a" xwidget-webkit-adjust-size-dispatch "b" xwidget-webkit-back "r" xwidget-webkit-reload "t" #[0 "\300\301!\207" [message "o"] 2 nil nil] "
" xwidget-webkit-insert-string "w" xwidget-webkit-current-url "+" xwidget-webkit-zoom-in "-" xwidget-webkit-zoom-out " " xwidget-webkit-scroll-up "" xwidget-webkit-scroll-down [remap scroll-up] [remap scroll-up-command] [remap scroll-down] [remap scroll-down-command] [remap forward-char] xwidget-webkit-scroll-forward [remap backward-char] xwidget-webkit-scroll-backward [remap right-char] [remap left-char] [remap previous-line] [remap next-line] [remap beginning-of-buffer] xwidget-webkit-scroll-top [remap end-of-buffer] xwidget-webkit-scroll-bottom] 5) (#$ . 1775))
#@35 Increase webkit view zoom factor.
(defalias 'xwidget-webkit-zoom-in #[0 "\300\301 \302\"\207" [xwidget-webkit-zoom xwidget-webkit-current-session 0.1] 3 (#$ . 3062) nil])
#@35 Decrease webkit view zoom factor.
(defalias 'xwidget-webkit-zoom-out #[0 "\300\301 \302\"\207" [xwidget-webkit-zoom xwidget-webkit-current-session -0.1] 3 (#$ . 3239) nil])
#@19 Scroll webkit up.
(defalias 'xwidget-webkit-scroll-up #[0 "\300\301 \302\"\207" [xwidget-webkit-execute-script xwidget-webkit-current-session "window.scrollBy(0, 50);"] 3 (#$ . 3418) nil])
#@21 Scroll webkit down.
(defalias 'xwidget-webkit-scroll-down #[0 "\300\301 \302\"\207" [xwidget-webkit-execute-script xwidget-webkit-current-session "window.scrollBy(0, -50);"] 3 (#$ . 3613) nil])
#@25 Scroll webkit forwards.
(defalias 'xwidget-webkit-scroll-forward #[0 "\300\301 \302\"\207" [xwidget-webkit-execute-script xwidget-webkit-current-session "window.scrollBy(50, 0);"] 3 (#$ . 3813) nil])
#@26 Scroll webkit backwards.
(defalias 'xwidget-webkit-scroll-backward #[0 "\300\301 \302\"\207" [xwidget-webkit-execute-script xwidget-webkit-current-session "window.scrollBy(-50, 0);"] 3 (#$ . 4019) nil])
#@32 Scroll webkit to the very top.
(defalias 'xwidget-webkit-scroll-top #[0 "\300\301 \302\"\207" [xwidget-webkit-execute-script xwidget-webkit-current-session "window.scrollTo(pageXOffset, 0);"] 3 (#$ . 4228) nil])
#@35 Scroll webkit to the very bottom.
(defalias 'xwidget-webkit-scroll-bottom #[0 "\300\301 \302\"\207" [xwidget-webkit-execute-script xwidget-webkit-current-session "window.scrollTo(pageXOffset, window.document.body.clientHeight);"] 3 (#$ . 4446) nil])
(byte-code "\300\301 \302\303#\207" [define-key current-global-map [xwidget-event] xwidget-event-handler] 4)
#@38 Log MSG to a buffer.
(fn &rest MSG)
(defalias 'xwidget-log #[128 "\300\301!r\211q\210\302\303\"c\210\304c)\207" [get-buffer-create " *xwidget-log*" apply format "\n"] 5 (#$ . 4811)])
#@24 Receive xwidget event.
(defalias 'xwidget-event-handler #[0 "\301\302\"\210A@\3038\304\305\"\210\306\"\207" [last-input-event xwidget-log "stuff happened to xwidget %S" 2 message "xw callback %s" xwidget-webkit-callback] 5 (#$ . 5002) nil])
#@130 Callback for xwidgets.
XWIDGET instance, XWIDGET-EVENT-TYPE depends on the originating xwidget.
(fn XWIDGET XWIDGET-EVENT-TYPE)
(defalias 'xwidget-webkit-callback #[514 "\301\302!!\204\f \303\304!\207r\302!q\210\211\305\267\202T \306\307\310\311\312\313\314 !\315\"\316\317%#\210\320p!\202X \3218\322\323\"\205A \324\325\326\"\"\262\202X \3218\3278!\266\202\202X \303\330\")\207" [last-input-event buffer-live-p xwidget-buffer xwidget-log "error: callback called for xwidget with dead buffer" #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (load-changed 24 decide-policy 48 javascript-callback 70)) xwidget-webkit-execute-script "document.title" make-byte-code 257 "\301\302\"\210\303\300!\210\304\305\306\"!\207" vconcat vector [xwidget-log "webkit finished loading: '%s'" xwidget-webkit-adjust-size-to-window rename-buffer format "*xwidget webkit: %s *"] 5 "\n\n(fn TITLE)" pop-to-buffer 3 string-match ".*#\\(.*\\)" xwidget-webkit-show-id-or-named-element match-string 1 4 "unhandled event:%s"] 11 (#$ . 5256)])
(defvar xwidget-webkit-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [xwidget-webkit-mode-hook variable-documentation put "Hook run after entering xwidget-webkit mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp xwidget-webkit-mode-map definition-name xwidget-webkit-mode] 4)
(defvar xwidget-webkit-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204 \303\307\310\311#\210\312\313 !\210\307\302N\204- \303\307\302\304\314!#\210\306\300!\204B \303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P \303\300\302\304\320!#\210\303\311\321\322#\207" [xwidget-webkit-mode-abbrev-table xwidget-webkit-mode-map variable-documentation put purecopy "Keymap for `xwidget-webkit-mode'." boundp xwidget-webkit-mode-syntax-table definition-name xwidget-webkit-mode (lambda (#1=#:def-tmp-var) (defvar xwidget-webkit-mode-syntax-table #1#)) make-syntax-table "Syntax table for `xwidget-webkit-mode'." (lambda (#1#) (defvar xwidget-webkit-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `xwidget-webkit-mode'." derived-mode-parent special-mode] 5)
#@236 Xwidget webkit view mode.
In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `xwidget-webkit-mode-hook', as the final or penultimate step
during initialization.
\{xwidget-webkit-mode-map}
(defalias 'xwidget-webkit-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324
\325\"\204R
=\204R \326
\325C#\210\327!\210\330\f!\210
\307\306\331!\210\332\333 \210)\334\335!\207" [delay-mode-hooks major-mode mode-name xwidget-webkit-mode-map xwidget-webkit-mode-syntax-table xwidget-webkit-mode-abbrev-table make-local-variable t special-mode xwidget-webkit-mode "xwidget-webkit" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table bookmark-make-record-function xwidget-webkit-bookmark-make-record image-mode-setup-winprops run-mode-hooks xwidget-webkit-mode-hook local-abbrev-table buffer-read-only] 5 (#$ . 7594) nil])
#@52 Integrate Emacs bookmarks with the webkit xwidget.
(defalias 'xwidget-webkit-bookmark-make-record #[0 "\300\301\211\"\302\303 B\304B\244\207" [bookmark-make-record-default t page xwidget-webkit-current-url ((handler lambda (bmk) (browse-url (bookmark-prop-get bmk 'page))))] 3 (#$ . 8753)])
(defvar xwidget-webkit-last-session-buffer nil)
#@29 Last active webkit, or nil.
(defalias 'xwidget-webkit-last-session #[0 "\301!\205 rq\210\302e!)\207" [xwidget-webkit-last-session-buffer buffer-live-p xwidget-at] 2 (#$ . 9098)])
#@89 Either the webkit in the current buffer, or the last one used.
The latter might be nil.
(defalias 'xwidget-webkit-current-session #[0 "\300e!\206 \301 \207" [xwidget-at xwidget-webkit-last-session] 2 (#$ . 9286)])
#@32 Resize XW to content.
(fn XW)
(defalias 'xwidget-adjust-size-to-content #[257 "\300!\301@A@#\207" [xwidget-size-request xwidget-resize] 6 (#$ . 9507)])
#@43 javascript that finds the active element.
(defvar xwidget-webkit-activeelement-js "\nfunction findactiveelement(doc){\n//alert(doc.activeElement.value);\n if(doc.activeElement.value != undefined){\n return doc.activeElement;\n }else{\n // recurse over the child documents:\n var frames = doc.getElementsByTagName('frame');\n for (var i = 0; i < frames.length; i++)\n {\n var d = frames[i].contentDocument;\n var rv = findactiveelement(d);\n if(rv != undefined){\n return rv;\n }\n }\n }\n return undefined;\n};\n\n\n" (#$ . 9670))
#@85 Prompt for a string and insert it in the active field in the
current webkit widget.
(defalias 'xwidget-webkit-insert-string #[0 "\301 \302\303P\304\305\306\307\310!\311\"\312\313%#\207" [xwidget-webkit-activeelement-js xwidget-webkit-current-session xwidget-webkit-execute-script "\n(function () {\n var res = findactiveelement(document);\n return [res.value, res.type];\n})();" make-byte-code 257 "\301!\205> |