From 8e245517f3ee91da9b0bceaffa22cc0615db183c Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 25 Sep 2019 12:48:02 +0200 Subject: [PATCH] Process HTML font --- .../main/java/eu/faircode/email/HtmlHelper.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/HtmlHelper.java b/app/src/main/java/eu/faircode/email/HtmlHelper.java index 98f0bfbc79..6d230a7fe1 100644 --- a/app/src/main/java/eu/faircode/email/HtmlHelper.java +++ b/app/src/main/java/eu/faircode/email/HtmlHelper.java @@ -136,7 +136,7 @@ public class HtmlHelper { } Whitelist whitelist = Whitelist.relaxed() - .addTags("hr", "abbr", "big") + .addTags("hr", "abbr", "big", "font") .removeTags("col", "colgroup", "thead", "tbody") .removeAttributes("table", "width") .removeAttributes("td", "colspan", "rowspan", "width") @@ -144,12 +144,22 @@ public class HtmlHelper { .addProtocols("img", "src", "cid") .addProtocols("img", "src", "data"); if (text_color) - whitelist.addAttributes(":all", "style"); + whitelist + .addAttributes(":all", "style") + .addAttributes("font", "color"); final Document document = new Cleaner(whitelist).clean(parsed); boolean dark = Helper.isDarkTheme(context); + // Font + for (Element font : document.select("font")) { + String color = font.attr("color"); + font.removeAttr("color"); + font.attr("style", "color:" + color + ";"); + font.tagName("span"); + } + // Sanitize span styles for (Element span : document.select("*")) { String style = span.attr("style");