summaryrefslogtreecommitdiff
path: root/bindings/hubbub
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/hubbub')
-rw-r--r--bindings/hubbub/parser.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/bindings/hubbub/parser.c b/bindings/hubbub/parser.c
index e1c0373..7b41c92 100644
--- a/bindings/hubbub/parser.c
+++ b/bindings/hubbub/parser.c
@@ -751,9 +751,23 @@ fail:
static hubbub_error set_quirks_mode(void *parser, hubbub_quirks_mode mode)
{
- UNUSED(parser);
- UNUSED(mode);
-
+ dom_hubbub_parser *dom_parser = (dom_hubbub_parser *) parser;
+
+ switch (mode) {
+ case HUBBUB_QUIRKS_MODE_NONE:
+ dom_html_document_set_quirks_mode(dom_parser->doc,
+ DOM_HTML_DOCUMENT_QUIRKS_MODE_NONE);
+ break;
+ case HUBBUB_QUIRKS_MODE_LIMITED:
+ dom_html_document_set_quirks_mode(dom_parser->doc,
+ DOM_HTML_DOCUMENT_QUIRKS_MODE_LIMITED);
+ break;
+ case HUBBUB_QUIRKS_MODE_FULL:
+ dom_html_document_set_quirks_mode(dom_parser->doc,
+ DOM_HTML_DOCUMENT_QUIRKS_MODE_FULL);
+ break;
+ }
+
return HUBBUB_OK;
}