Commit cc477daa authored by Lars Ingebrigtsen's avatar Lars Ingebrigtsen
Browse files

Make shr respect privacy when viewing documents with SVG images

(shr-tag-svg): Respect `shr-inhibit-images'.
(shr-dom-to-xml): Respect `shr-blocked-images'.

Fixes: debbugs:15882
parent dba6e3ec
......@@ -2,6 +2,8 @@
* net/shr.el (shr-generic): Make into a defsubst to make the stack
depth shallower (bug#16587).
(shr-tag-svg): Respect `shr-inhibit-images'.
(shr-dom-to-xml): Respect `shr-blocked-images' (bug#15882).
2014-01-31 Dmitry Gutov <>
......@@ -972,11 +972,18 @@ ones, in case fg and bg are nil."
(defun shr-dom-to-xml (dom)
"Convert DOM into a string containing the xml representation."
(let ((arg " ")
(text ""))
(text "")
(dolist (sub (cdr dom))
((listp (cdr sub))
(setq text (concat text (shr-dom-to-xml sub))))
;; Ignore external image definitions if required.
;; <image xlink:href="http://TRACKING_URL/"/>
(when (or (not (eq (car sub) 'image))
(not (setq url (cdr (assq ':xlink:href (cdr sub)))))
(not shr-blocked-images)
(not (string-match shr-blocked-images url)))
(setq text (concat text (shr-dom-to-xml sub)))))
((eq (car sub) 'text)
(setq text (concat text (cdr sub))))
......@@ -990,7 +997,8 @@ ones, in case fg and bg are nil."
(car dom))))
(defun shr-tag-svg (cont)
(when (image-type-available-p 'svg)
(when (and (image-type-available-p 'svg)
(not shr-inhibit-images))
(funcall shr-put-image-function
(shr-dom-to-xml (cons 'svg cont))
"SVG Image")))
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment