summaryrefslogtreecommitdiff
path: root/css
diff options
context:
space:
mode:
Diffstat (limited to 'css')
-rw-r--r--css/select.c53
1 files changed, 31 insertions, 22 deletions
diff --git a/css/select.c b/css/select.c
index 0cd2a790f..fc4558e0b 100644
--- a/css/select.c
+++ b/css/select.c
@@ -2679,26 +2679,35 @@ node_presentational_hint_caption_side(nscss_select_ctx *ctx,
dom_node *node,
css_hint *hint)
{
-#ifdef FIXME
- xmlChar *align = NULL;
+ dom_exception err;
+ dom_string *node_name = NULL;
+ dom_string *align = NULL;
- if (strcmp((const char *) n->name, "caption") == 0)
- align = xmlGetProp(n, (const xmlChar *) "align");
+ err = dom_node_get_node_name(node, &node_name);
+ if ((err != DOM_NO_ERR) || (node_name == NULL)) {
+ return CSS_PROPERTY_NOT_SET;
+ }
- if (align == NULL)
+ if (!dom_string_caseless_isequal(node_name, nscss_dom_string_caption)) {
+ dom_string_unref(node_name);
return CSS_PROPERTY_NOT_SET;
+ }
- if (strcasecmp((const char *) align, "bottom") == 0) {
- hint->status = CSS_CAPTION_SIDE_BOTTOM;
- } else {
- xmlFree(align);
+ dom_string_unref(node_name);
+
+ err = dom_element_get_attribute(node, nscss_dom_string_align, &align);
+ if ((err != DOM_NO_ERR) || (align == NULL)) {
return CSS_PROPERTY_NOT_SET;
}
- xmlFree(align);
+ if (dom_string_caseless_isequal(align, nscss_dom_string_bottom)) {
+ hint->status = CSS_CAPTION_SIDE_BOTTOM;
+ dom_string_unref(align);
+ return CSS_OK;
+ }
+
+ dom_string_unref(align);
- return CSS_OK;
-#endif
return CSS_PROPERTY_NOT_SET;
}
@@ -2707,23 +2716,23 @@ node_presentational_hint_background_color(nscss_select_ctx *ctx,
dom_node *node,
css_hint *hint)
{
-#ifdef FIXME
- xmlChar *bgcol = xmlGetProp(n, (const xmlChar *) "bgcolor");
- if (bgcol == NULL)
+ dom_exception err;
+ dom_string *bgcolor;
+
+ err = dom_element_get_attribute(node, nscss_dom_string_bgcolor, &bgcolor);
+ if ((err != DOM_NO_ERR) || (bgcolor == NULL)) {
return CSS_PROPERTY_NOT_SET;
+ }
- if (nscss_parse_colour((const char *) bgcol,
+ if (nscss_parse_colour((const char *)dom_string_data(bgcolor),
&hint->data.color)) {
hint->status = CSS_BACKGROUND_COLOR_COLOR;
- } else {
- xmlFree(bgcol);
- return CSS_PROPERTY_NOT_SET;
+ dom_string_unref(bgcolor);
+ return CSS_OK;
}
- xmlFree(bgcol);
+ dom_string_unref(bgcolor);
- return CSS_OK;
-#endif
return CSS_PROPERTY_NOT_SET;
}