summaryrefslogtreecommitdiff
path: root/css/select.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2012-03-25 23:21:13 +0000
committerVincent Sanders <vince@netsurf-browser.org>2012-03-25 23:21:13 +0000
commite863cfebe1981f58ead4ba1ce6dfca193ff1f163 (patch)
treeeeddb63b373f7f1013693a2e816f31a459537f67 /css/select.c
parent32f2b175feb811a9fbe5fc0ee41f91cf6acb9030 (diff)
downloadnetsurf-e863cfebe1981f58ead4ba1ce6dfca193ff1f163.tar.gz
netsurf-e863cfebe1981f58ead4ba1ce6dfca193ff1f163.tar.bz2
fix node_presentational_hint_font_size
svn path=/trunk/netsurf/; revision=13715
Diffstat (limited to 'css/select.c')
-rw-r--r--css/select.c36
1 files changed, 22 insertions, 14 deletions
diff --git a/css/select.c b/css/select.c
index 0e82e0c7f..c376cfbf4 100644
--- a/css/select.c
+++ b/css/select.c
@@ -2645,28 +2645,36 @@ node_presentational_hint_font_size(nscss_select_ctx *ctx,
dom_node *node,
css_hint *hint)
{
-#ifdef FIXME
- xmlChar *size;
+ dom_exception err;
+ dom_string *node_name = NULL;
+ dom_string *size;
- if (strcmp((const char *) n->name, "font") == 0)
- size = xmlGetProp(n, (const xmlChar *) "size");
- else
- size = NULL;
+ err = dom_node_get_node_name(node, &node_name);
+ if ((err != DOM_NO_ERR) || (node_name == NULL)) {
+ return CSS_NOMEM;
+ }
- if (size == NULL)
+ if (!dom_string_isequal(node_name, nscss_dom_string_font)) {
+ dom_string_unref(node_name);
return CSS_PROPERTY_NOT_SET;
+ }
- if (parse_font_size((const char *) size, &hint->status,
- &hint->data.length.value,
- &hint->data.length.unit) == false) {
- xmlFree(size);
+ dom_string_unref(node_name);
+
+ err = dom_element_get_attribute(node, nscss_dom_string_align, &size);
+ if ((err != DOM_NO_ERR) || (size == NULL)) {
return CSS_PROPERTY_NOT_SET;
}
- xmlFree(size);
+ if (parse_font_size((const char *)dom_string_data(size),
+ &hint->status,
+ &hint->data.length.value,
+ &hint->data.length.unit)) {
+ dom_string_unref(size);
+ return CSS_OK;
+ }
- return CSS_OK;
-#endif
+ dom_string_unref(size);
return CSS_PROPERTY_NOT_SET;
}