diff options
author | Po Lu <luangruo@yahoo.com> | 2021-11-19 20:04:08 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2021-11-19 20:04:08 +0800 |
commit | b4f0c4c694e1c00b4025fe16039b8940d97c66aa (patch) | |
tree | 460a3a5b266a2e0a8cd3c58ecf4bd9b333858514 /lisp/xwidget.el | |
parent | 24c67435ea5f15aa858f4a12b00055ed92baa1d9 (diff) | |
download | emacs-b4f0c4c694e1c00b4025fe16039b8940d97c66aa.tar.gz |
Allow controlling where xwidget-webkit stores cookies
* doc/lispref/display.texi (Xwidgets): Document new function.
* etc/NEWS: Announce `xwidget-webkit-cookie-file' and
`xwidget-webkit-set-cookie-storage-file'.
* lisp/xwidget.el (xwidget-webkit-cookie-file): New user
option.
(xwidget-webkit-new-session): Set cookie storage file.
* src/xwidget.c (Fmake_xwidget): Create new context for
each unrelated widget.
(Fxwidget_webkit_set_cookie_storage_file): New function.
(syms_of_xwidget): Define new subr.
Diffstat (limited to 'lisp/xwidget.el')
-rw-r--r-- | lisp/xwidget.el | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lisp/xwidget.el b/lisp/xwidget.el index b74e332edf8..056315a4db9 100644 --- a/lisp/xwidget.el +++ b/lisp/xwidget.el @@ -57,6 +57,7 @@ (declare-function xwidget-query-on-exit-flag "xwidget.c" (xwidget)) (declare-function xwidget-webkit-back-forward-list "xwidget.c" (xwidget &optional limit)) (declare-function xwidget-webkit-estimated-load-progress "xwidget.c" (xwidget)) +(declare-function xwidget-webkit-set-cookie-storage-file "xwidget.c" (xwidget file)) (defgroup xwidget nil "Displaying native widgets in Emacs buffers." @@ -107,6 +108,15 @@ It can use the following special constructs: :type 'string :version "29.1") +(defcustom xwidget-webkit-cookie-file + (file-name-concat user-emacs-directory + "xwidget-webkit-cookies.txt") + "A path to the file where xwidget-webkit-browse-url will store cookies. +They will be stored as plain text in Mozilla `cookies.txt' +format. If nil, cookies will not be stored." + :type 'string + :version "29.1") + ;;;###autoload (defun xwidget-webkit-browse-url (url &optional new-session) "Ask xwidget-webkit to browse URL. @@ -794,6 +804,9 @@ For example, use this to display an anchor." (xwidget-window-inside-pixel-width (selected-window)) (xwidget-window-inside-pixel-height (selected-window)) nil current-session))) + (when xwidget-webkit-cookie-file + (xwidget-webkit-set-cookie-storage-file + xw (expand-file-name xwidget-webkit-cookie-file))) (xwidget-put xw 'callback callback) (xwidget-webkit-mode) (xwidget-webkit-goto-uri (xwidget-webkit-last-session) url))) |