summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2012-03-24 22:18:48 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2012-03-24 22:18:48 +0000
commitfcd2ed8a5f041dc6192c55791ff148013431eb62 (patch)
treeda3d207f4f0616b4a2744ea4d043e1b8c2b7f767 /src/core
parent7f46d9136b2356e910f20429ec3ec7bfa265c29c (diff)
downloadlibdom-fcd2ed8a5f041dc6192c55791ff148013431eb62.tar.gz
libdom-fcd2ed8a5f041dc6192c55791ff148013431eb62.tar.bz2
Switch case sensetivity of class comparison on document quirks mode.
svn path=/trunk/libdom/; revision=13634
Diffstat (limited to 'src/core')
-rw-r--r--src/core/element.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/core/element.c b/src/core/element.c
index 3400192..4d9c3bb 100644
--- a/src/core/element.c
+++ b/src/core/element.c
@@ -1172,14 +1172,17 @@ dom_exception _dom_element_get_classes(struct dom_element *element,
dom_exception _dom_element_has_class(struct dom_element *element,
lwc_string *name, bool *match)
{
+ dom_exception err;
unsigned int class;
struct dom_node_internal *node = (struct dom_node_internal *)element;
- struct dom_document *doc = node->owner;
+ dom_document_quirks_mode quirks_mode =
+ DOM_DOCUMENT_QUIRKS_MODE_NONE;
- /* TODO: Get quirks mode setting out of document */
- UNUSED(doc);
+ err = dom_document_get_quirks_mode(node->owner, &quirks_mode);
+ if (err != DOM_NO_ERR)
+ return err;
- if (true) {
+ if (quirks_mode != DOM_DOCUMENT_QUIRKS_MODE_NONE) {
/* Quirks mode: case insensitively match */
for (class = 0; class < element->n_classes; class++) {
if (true == lwc_string_caseless_isequal(name,
@@ -1187,7 +1190,7 @@ dom_exception _dom_element_has_class(struct dom_element *element,
return DOM_NO_ERR;
}
} else {
- /* Quirks mode: case sensitively match */
+ /* Standards mode: case sensitively match */
for (class = 0; class < element->n_classes; class++) {
if (true == lwc_string_isequal(name,
element->classes[class], match))