diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2015-10-31 13:02:21 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2015-10-31 13:03:07 +0000 |
commit | 0a0b5ee3f834a6dda7ef287380977feea3e42982 (patch) | |
tree | 26f941ec3bf301904beb45370758a43f54744a67 /src/html/html_element.c | |
parent | 156797391ffe4684e7be91078eb7c8a9fdc84c37 (diff) | |
download | libdom-0a0b5ee3f834a6dda7ef287380977feea3e42982.tar.gz libdom-0a0b5ee3f834a6dda7ef287380977feea3e42982.tar.bz2 |
HTML element attributes get lowercased.
Diffstat (limited to 'src/html/html_element.c')
-rw-r--r-- | src/html/html_element.c | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/html/html_element.c b/src/html/html_element.c index ce0ba8f..d436898 100644 --- a/src/html/html_element.c +++ b/src/html/html_element.c @@ -142,6 +142,79 @@ SIMPLE_GET_SET(lang,lang) SIMPLE_GET_SET(dir,dir) SIMPLE_GET_SET(class_name,class) +dom_exception _dom_html_element_get_attribute( + struct dom_element *element, + dom_string *name, dom_string **value) +{ + dom_exception exc; + dom_string *lower_case_name; + + exc = dom_string_tolower(name, true, &lower_case_name); + if (exc != DOM_NO_ERR) { + return exc; + } + + exc = _dom_element_get_attribute(element, lower_case_name, value); + dom_string_unref(lower_case_name); + + return exc; +} + +dom_exception _dom_html_element_set_attribute( + struct dom_element *element, + dom_string *name, dom_string *value) +{ + dom_exception exc; + dom_string *lower_case_name; + + exc = dom_string_tolower(name, true, &lower_case_name); + if (exc != DOM_NO_ERR) { + return exc; + } + + exc = _dom_element_set_attribute(element, lower_case_name, value); + dom_string_unref(lower_case_name); + + return exc; +} + +dom_exception _dom_html_element_remove_attribute( + struct dom_element *element, + dom_string *name) +{ + dom_exception exc; + dom_string *lower_case_name; + + exc = dom_string_tolower(name, true, &lower_case_name); + if (exc != DOM_NO_ERR) { + return exc; + } + + exc = _dom_element_remove_attribute(element, lower_case_name); + dom_string_unref(lower_case_name); + + return exc; +} + +dom_exception _dom_html_element_has_attribute( + struct dom_element *element, + dom_string *name, bool *result) +{ + dom_exception exc; + dom_string *lower_case_name; + + exc = dom_string_tolower(name, true, &lower_case_name); + if (exc != DOM_NO_ERR) { + return exc; + } + + exc = _dom_element_has_attribute(element, lower_case_name, result); + dom_string_unref(lower_case_name); + + return exc; +} + + /** * Retrieve a list of descendant elements of an element which match a given * tag name (caselessly) |