Render application/xhtml+xml as HTML

Fixes: debbugs:20009

* lisp/net/eww.el (eww-html-p): New function.
(eww-render): Use it.
This commit is contained in:
Ivan Shmakov 2015-03-05 23:26:34 +01:00 committed by Lars Magne Ingebrigtsen
parent cbc9d8d426
commit b08f8bb06a
2 changed files with 13 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2015-03-05 Ivan Shmakov <ivan@siamics.net>
* net/eww.el (eww-html-p): New function (bug#20009).
(eww-render): Use it.
2015-03-05 Artur Malabarba <bruce.connor.am@gmail.com>
* desktop.el (desktop-buffer-info): Write docstring.

View file

@ -306,6 +306,12 @@ See the `eww-search-prefix' variable for the search engine used."
(interactive "r")
(eww (buffer-substring beg end)))
(defun eww-html-p (content-type)
"Return non-nil if CONTENT-TYPE designates an HTML content type.
Currently this means either text/html or application/xhtml+xml."
(member content-type '("text/html"
"application/xhtml+xml")))
(defun eww-render (status url &optional point buffer encode)
(let ((redirect (plist-get status :redirect)))
(when redirect
@ -318,8 +324,7 @@ See the `eww-search-prefix' variable for the search engine used."
(charset (intern
(downcase
(or (cdr (assq 'charset (cdr content-type)))
(eww-detect-charset (equal (car content-type)
"text/html"))
(eww-detect-charset (eww-html-p (car content-type)))
"utf-8"))))
(data-buffer (current-buffer)))
;; Save the https peer status.
@ -332,7 +337,7 @@ See the `eww-search-prefix' variable for the search engine used."
(string-match-p eww-use-external-browser-for-content-type
(car content-type)))
(eww-browse-with-external-browser url))
((equal (car content-type) "text/html")
((eww-html-p (car content-type))
(eww-display-html charset url nil point buffer encode))
((equal (car content-type) "application/pdf")
(eww-display-pdf))