From 9f526b7eab7d693ab6f98481e0d266673617f557 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 28 Mar 2012 16:13:23 +0000 Subject: converted node_presentational_hint_border_spacing svn path=/trunk/netsurf/; revision=13759 --- css/select.c | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) (limited to 'css/select.c') diff --git a/css/select.c b/css/select.c index dc0d3bf90..5d0a2411b 100644 --- a/css/select.c +++ b/css/select.c @@ -2380,30 +2380,42 @@ node_presentational_hint_border_spacing(nscss_select_ctx *ctx, dom_node *node, css_hint *hint) { -#ifdef FIXME - xmlChar *cellspacing; + dom_exception err; + dom_string *node_name = NULL; + dom_string *cellspacing = NULL; + + err = dom_node_get_node_name(node, &node_name); + if ((err != DOM_NO_ERR) || (node_name == NULL)) { + return CSS_PROPERTY_NOT_SET; + } - if (strcmp((const char *) n->name, "table") != 0) + if (!dom_string_caseless_isequal(node_name, nscss_dom_string_table)) { + dom_string_unref(node_name); return CSS_PROPERTY_NOT_SET; + } + + dom_string_unref(node_name); - cellspacing = xmlGetProp(n, (const xmlChar *) "cellspacing"); - if (cellspacing == NULL) + err = dom_element_get_attribute(node, nscss_dom_string_cellspacing, &cellspacing); + if ((err != DOM_NO_ERR) || (cellspacing == NULL)) { return CSS_PROPERTY_NOT_SET; + } + - if (parse_dimension((const char *) cellspacing, false, + if (parse_dimension((const char *)dom_string_data(cellspacing), + false, &hint->data.position.h.value, &hint->data.position.h.unit)) { + hint->data.position.v = hint->data.position.h; hint->status = CSS_BORDER_SPACING_SET; - } else { - xmlFree(cellspacing); - return CSS_PROPERTY_NOT_SET; - } - xmlFree(cellspacing); + dom_string_unref(cellspacing); + return CSS_OK; - return CSS_OK; -#endif + } + + dom_string_unref(cellspacing); return CSS_PROPERTY_NOT_SET; } -- cgit v1.2.3