From dd15bf347ca04cb79d1e009a7afb0f4c082820ca Mon Sep 17 00:00:00 2001
From: Tor Andersson <tor.andersson@artifex.com>
Date: Mon, 21 Nov 2016 14:26:41 +0100
Subject: Add toggle to enable/disable document styles.

---
 source/html/css-apply.c   | 27 +++++++++++++++------------
 source/html/html-layout.c |  6 ++++--
 2 files changed, 19 insertions(+), 14 deletions(-)

(limited to 'source/html')

diff --git a/source/html/css-apply.c b/source/html/css-apply.c
index e5e4def4..f3e28ddd 100644
--- a/source/html/css-apply.c
+++ b/source/html/css-apply.c
@@ -644,22 +644,25 @@ fz_match_css(fz_context *ctx, fz_css_match *match, fz_css *css, fz_xml *node)
 		}
 	}
 
-	s = fz_xml_att(node, "style");
-	if (s)
+	if (fz_use_document_css(ctx))
 	{
-		fz_try(ctx)
+		s = fz_xml_att(node, "style");
+		if (s)
 		{
-			prop = fz_parse_css_properties(ctx, css->pool, s);
-			while (prop)
+			fz_try(ctx)
 			{
-				add_property(match, prop->name, prop->value, INLINE_SPECIFICITY);
-				prop = prop->next;
+				prop = fz_parse_css_properties(ctx, css->pool, s);
+				while (prop)
+				{
+					add_property(match, prop->name, prop->value, INLINE_SPECIFICITY);
+					prop = prop->next;
+				}
+				/* We can "leak" the property here, since it is freed along with the pool allocator. */
+			}
+			fz_catch(ctx)
+			{
+				fz_warn(ctx, "ignoring style attribute");
 			}
-			/* We can "leak" the property here, since it is freed along with the pool allocator. */
-		}
-		fz_catch(ctx)
-		{
-			fz_warn(ctx, "ignoring style attribute");
 		}
 	}
 
diff --git a/source/html/html-layout.c b/source/html/html-layout.c
index 95f2a76b..b958a3a3 100644
--- a/source/html/html-layout.c
+++ b/source/html/html-layout.c
@@ -2545,14 +2545,16 @@ fz_parse_html(fz_context *ctx, fz_html_font_set *set, fz_archive *zip, const cha
 		{
 			g.is_fb2 = 1;
 			fz_parse_css(ctx, g.css, fb2_default_css, "<default:fb2>");
-			fb2_load_css(ctx, g.zip, g.base_uri, g.css, xml);
+			if (fz_use_document_css(ctx))
+				fb2_load_css(ctx, g.zip, g.base_uri, g.css, xml);
 			g.images = load_fb2_images(ctx, xml);
 		}
 		else
 		{
 			g.is_fb2 = 0;
 			fz_parse_css(ctx, g.css, html_default_css, "<default:html>");
-			html_load_css(ctx, g.zip, g.base_uri, g.css, xml);
+			if (fz_use_document_css(ctx))
+				html_load_css(ctx, g.zip, g.base_uri, g.css, xml);
 			g.images = NULL;
 		}
 
-- 
cgit v1.2.3