diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2016-10-13 12:44:27 +0100 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2016-10-13 12:44:27 +0100 |
commit | b42d253f8697f8d2afa0d25367aa722f4a0c0812 (patch) | |
tree | 98ecb56d3f6cd545d7150b6d33e3f9f83e5583d7 | |
parent | 22d917c92d3f49379a57bad3dcd4b87817717848 (diff) | |
download | netsurf-b42d253f8697f8d2afa0d25367aa722f4a0c0812.tar.gz netsurf-b42d253f8697f8d2afa0d25367aa722f4a0c0812.tar.bz2 |
Table cell nowrap attribute is presentational hint, not UA style.
-rw-r--r-- | !NetSurf/Resources/CSS,f79 | 2 | ||||
-rw-r--r-- | content/handlers/css/hints.c | 17 | ||||
-rw-r--r-- | utils/corestrings.c | 3 | ||||
-rw-r--r-- | utils/corestrings.h | 1 |
4 files changed, 21 insertions, 2 deletions
diff --git a/!NetSurf/Resources/CSS,f79 b/!NetSurf/Resources/CSS,f79 index 3892aff06..464fcdae0 100644 --- a/!NetSurf/Resources/CSS,f79 +++ b/!NetSurf/Resources/CSS,f79 @@ -87,8 +87,6 @@ tr { display: table-row; vertical-align: inherit; } td, th { display: table-cell; vertical-align: inherit; padding: 1px; } th { font-weight: bold; text-align: center; } -td[nowrap], th[nowrap] { white-space: nowrap; } - a:link { color: #00f; text-decoration: underline; } a:visited { color: #609; } diff --git a/content/handlers/css/hints.c b/content/handlers/css/hints.c index fd25d5397..a96212386 100644 --- a/content/handlers/css/hints.c +++ b/content/handlers/css/hints.c @@ -1497,6 +1497,22 @@ static void css_hint_bg_image( } } +static void css_hint_white_space_nowrap( + nscss_select_ctx *ctx, + dom_node *node) +{ + struct css_hint *hint = &(hint_ctx.hints[hint_ctx.len]); + dom_exception err; + bool nowrap; + + err = dom_element_has_attribute(node, corestring_dom_nowrap, &nowrap); + if (err == DOM_NO_ERR && nowrap == true) { + hint->prop = CSS_PROP_WHITE_SPACE; + hint->status = CSS_WHITE_SPACE_NOWRAP; + hint = css_hint_advance(hint); + } +} + /* Exported function, documeted in css/hints.h */ css_error node_presentational_hint(void *pw, void *node, @@ -1517,6 +1533,7 @@ css_error node_presentational_hint(void *pw, void *node, case DOM_HTML_ELEMENT_TYPE_TD: css_hint_width(pw, node); css_hint_table_cell_border_padding(pw, node); + css_hint_white_space_nowrap(pw, node); /* fallthrough */ case DOM_HTML_ELEMENT_TYPE_TR: css_hint_height(pw, node); diff --git a/utils/corestrings.c b/utils/corestrings.c index 0afad9f4a..363c85184 100644 --- a/utils/corestrings.c +++ b/utils/corestrings.c @@ -210,6 +210,7 @@ dom_string *corestring_dom_mousewheel; dom_string *corestring_dom_name; dom_string *corestring_dom_nohref; dom_string *corestring_dom_noresize; +dom_string *corestring_dom_nowrap; dom_string *corestring_dom_offline; dom_string *corestring_dom_online; dom_string *corestring_dom_pagehide; @@ -490,6 +491,7 @@ void corestrings_fini(void) CSS_DOM_STRING_UNREF(name); CSS_DOM_STRING_UNREF(nohref); CSS_DOM_STRING_UNREF(noresize); + CSS_DOM_STRING_UNREF(nowrap); CSS_DOM_STRING_UNREF(offline); CSS_DOM_STRING_UNREF(online); CSS_DOM_STRING_UNREF(pagehide); @@ -823,6 +825,7 @@ nserror corestrings_init(void) CSS_DOM_STRING_INTERN(name); CSS_DOM_STRING_INTERN(nohref); CSS_DOM_STRING_INTERN(noresize); + CSS_DOM_STRING_INTERN(nowrap); CSS_DOM_STRING_INTERN(offline); CSS_DOM_STRING_INTERN(online); CSS_DOM_STRING_INTERN(pagehide); diff --git a/utils/corestrings.h b/utils/corestrings.h index 280098b2f..a02bdda1f 100644 --- a/utils/corestrings.h +++ b/utils/corestrings.h @@ -221,6 +221,7 @@ extern struct dom_string *corestring_dom_mousewheel; extern struct dom_string *corestring_dom_name; extern struct dom_string *corestring_dom_nohref; extern struct dom_string *corestring_dom_noresize; +extern struct dom_string *corestring_dom_nowrap; extern struct dom_string *corestring_dom_offline; extern struct dom_string *corestring_dom_online; extern struct dom_string *corestring_dom_pagehide; |