diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/html.cc | 5 | ||||
-rw-r--r-- | src/prefs.c | 6 | ||||
-rw-r--r-- | src/prefs.h | 1 | ||||
-rw-r--r-- | src/styleengine.cc | 2 |
4 files changed, 11 insertions, 3 deletions
diff --git a/src/html.cc b/src/html.cc index c9bcac22..f79f40a2 100644 --- a/src/html.cc +++ b/src/html.cc @@ -1654,8 +1654,9 @@ static void Html_tag_open_style(DilloHtml *html, const char *tag, int tagsize) */ static void Html_tag_close_style(DilloHtml *html, int TagIdx) { - html->styleEngine->parse(html->Stash->str, html->Stash->len, - 0, CSS_ORIGIN_AUTHOR); + if (prefs.parse_embedded_css) + html->styleEngine->parse(html->Stash->str, html->Stash->len, + 0, CSS_ORIGIN_AUTHOR); } /* diff --git a/src/prefs.c b/src/prefs.c index 34d13db8..f7c286f8 100644 --- a/src/prefs.c +++ b/src/prefs.c @@ -79,6 +79,7 @@ typedef enum { DRC_TOKEN_MIDDLE_CLICK_OPENS_NEW_TAB, DRC_TOKEN_NOPROXY, DRC_TOKEN_PANEL_SIZE, + DRC_TOKEN_PARSE_EMBEDDED_CSS, DRC_TOKEN_PROXY, DRC_TOKEN_PROXYUSER, DRC_TOKEN_REFERER, @@ -146,6 +147,7 @@ static const SymNode_t symbols[] = { { "middle_click_opens_new_tab", DRC_TOKEN_MIDDLE_CLICK_OPENS_NEW_TAB }, { "no_proxy", DRC_TOKEN_NOPROXY }, { "panel_size", DRC_TOKEN_PANEL_SIZE }, + { "parse_embedded_css", DRC_TOKEN_PARSE_EMBEDDED_CSS }, { "save_dir", DRC_TOKEN_SAVE_DIR }, { "search_url", DRC_TOKEN_SEARCH_URL }, { "show_back", DRC_TOKEN_SHOW_BACK }, @@ -264,6 +266,9 @@ static int Prefs_parse_pair(char *name, char *value) else /* default to "medium" */ prefs.panel_size = P_medium; break; + case DRC_TOKEN_PARSE_EMBEDDED_CSS: + prefs.parse_embedded_css = (strcmp(value, "YES") == 0); + break; case DRC_TOKEN_SMALL_ICONS: prefs.small_icons = (strcmp(value, "YES") == 0); break; @@ -463,6 +468,7 @@ void a_Prefs_init(void) prefs.fullwindow_start=FALSE; prefs.load_images=TRUE; prefs.load_stylesheets=TRUE; + prefs.parse_embedded_css=TRUE; prefs.buffered_drawing=1; prefs.vw_fontname = dStrdup(D_VW_FONTNAME); prefs.fw_fontname = dStrdup(D_FW_FONTNAME); diff --git a/src/prefs.h b/src/prefs.h index 9156c815..767530d2 100644 --- a/src/prefs.h +++ b/src/prefs.h @@ -59,6 +59,7 @@ struct _DilloPrefs { bool_t fullwindow_start; bool_t load_images; bool_t load_stylesheets; + bool_t parse_embedded_css; int32_t buffered_drawing; char *vw_fontname; char *fw_fontname; diff --git a/src/styleengine.cc b/src/styleengine.cc index fd160f29..4e234a3c 100644 --- a/src/styleengine.cc +++ b/src/styleengine.cc @@ -405,7 +405,7 @@ Style * StyleEngine::style0 (CssPropertyList *nonCssProperties) { stack->getRef (stack->size () - 2)->style->backgroundColor; // parse style information from style="" attribute, if it exists - if (styleAttribute) + if (styleAttribute && prefs.parse_embedded_css) styleAttributeProps = a_Css_parse_declaration (styleAttribute, strlen (styleAttribute)); |