From 7f46d9136b2356e910f20429ec3ec7bfa265c29c Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Sat, 24 Mar 2012 22:16:06 +0000 Subject: Migrate quirks from html_document to document svn path=/trunk/libdom/; revision=13633 --- include/dom/core/document.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'include/dom/core/document.h') diff --git a/include/dom/core/document.h b/include/dom/core/document.h index 58d4639..31a46b3 100644 --- a/include/dom/core/document.h +++ b/include/dom/core/document.h @@ -34,6 +34,16 @@ struct lwc_string_s; typedef struct dom_document dom_document; +/** + * Quirks mode flag + */ +typedef enum dom_document_quirks_mode { + DOM_DOCUMENT_QUIRKS_MODE_NONE, + DOM_DOCUMENT_QUIRKS_MODE_LIMITED, + DOM_DOCUMENT_QUIRKS_MODE_FULL +} dom_document_quirks_mode; + + /* DOM Document vtable */ typedef struct dom_document_vtable { struct dom_node_vtable base; @@ -114,6 +124,10 @@ typedef struct dom_document_vtable { dom_exception (*dom_document_rename_node)(struct dom_document *doc, struct dom_node *node, dom_string *namespace, dom_string *qname, struct dom_node **result); + dom_exception (*get_quirks_mode)(dom_document *doc, + dom_document_quirks_mode *result); + dom_exception (*set_quirks_mode)(dom_document *doc, + dom_document_quirks_mode quirks); } dom_document_vtable; static inline dom_exception dom_document_get_doctype(struct dom_document *doc, @@ -440,4 +454,22 @@ static inline dom_exception dom_document_rename_node(struct dom_document *doc, (dom_document *) (d), (dom_string *) (ns), \ (dom_string *) (q), (dom_node **) (r)) +static inline dom_exception dom_document_get_quirks_mode( + dom_document *doc, dom_document_quirks_mode *result) +{ + return ((dom_document_vtable *) ((dom_node *) doc)->vtable)-> + get_quirks_mode(doc, result); +} +#define dom_document_get_quirks_mode(d, r) \ + dom_document_get_quirks_mode((dom_document *) (d), (r)) + +static inline dom_exception dom_document_set_quirks_mode( + dom_document *doc, dom_document_quirks_mode quirks) +{ + return ((dom_document_vtable *) ((dom_node *) doc)->vtable)-> + set_quirks_mode(doc, quirks); +} +#define dom_document_set_quirks_mode(d, q) \ + dom_document_set_quirks_mode((dom_document *) (d), (q)) + #endif -- cgit v1.2.3