From eb95e66fb912bf64d0da24b78505da21860c47fa Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Sat, 24 Mar 2012 20:11:50 +0000 Subject: Change bool for an enum because quirks are tristate. svn path=/trunk/libdom/; revision=13617 --- include/dom/html/html_document.h | 18 ++++++++++++++---- src/html/html_document.c | 4 ++-- src/html/html_document.h | 7 ++++--- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/include/dom/html/html_document.h b/include/dom/html/html_document.h index 1d48cdf..0f23bfa 100644 --- a/include/dom/html/html_document.h +++ b/include/dom/html/html_document.h @@ -20,6 +20,16 @@ struct dom_nodelist; typedef struct dom_html_document dom_html_document; +/** + * Quirks mode flag + */ +typedef enum dom_html_document_quirks_mode { + DOM_HTML_DOCUMENT_QUIRKS_MODE_NONE, + DOM_HTML_DOCUMENT_QUIRKS_MODE_LIMITED, + DOM_HTML_DOCUMENT_QUIRKS_MODE_FULL +} dom_html_document_quirks_mode; + + typedef struct dom_html_document_vtable { struct dom_document_vtable base; @@ -61,9 +71,9 @@ typedef struct dom_html_document_vtable { dom_exception (*get_elements_by_name)(dom_html_document *doc, dom_string *name, struct dom_nodelist **list); dom_exception (*get_quirks_mode)(dom_html_document *doc, - bool *result); + dom_html_document_quirks_mode *result); dom_exception (*set_quirks_mode)(dom_html_document *doc, - bool quirks); + dom_html_document_quirks_mode quirks); } dom_html_document_vtable; static inline dom_exception dom_html_document_get_title( @@ -255,7 +265,7 @@ static inline dom_exception dom_html_document_get_elements_by_name(dom_html_docu (dom_string *) (n), (struct dom_nodelist **) (l)) static inline dom_exception dom_html_document_get_quirks_mode( - dom_html_document *doc, bool *result) + dom_html_document *doc, dom_html_document_quirks_mode *result) { return ((dom_html_document_vtable *) ((dom_node *) doc)->vtable)-> get_quirks_mode(doc, result); @@ -264,7 +274,7 @@ static inline dom_exception dom_html_document_get_quirks_mode( dom_html_document_get_quirks_mode((dom_html_document *) (d), (r)) static inline dom_exception dom_html_document_set_quirks_mode( - dom_html_document *doc, bool quirks) + dom_html_document *doc, dom_html_document_quirks_mode quirks) { return ((dom_html_document_vtable *) ((dom_node *) doc)->vtable)-> set_quirks_mode(doc, quirks); diff --git a/src/html/html_document.c b/src/html/html_document.c index 8909743..9bce128 100644 --- a/src/html/html_document.c +++ b/src/html/html_document.c @@ -352,14 +352,14 @@ dom_exception _dom_html_document_get_elements_by_name(dom_html_document *doc, /* Semi-internal API extensions for NetSurf */ dom_exception _dom_html_document_get_quirks_mode(dom_html_document *doc, - bool *result) + dom_html_document_quirks_mode *result) { *result = doc->quirks; return DOM_NO_ERR; } dom_exception _dom_html_document_set_quirks_mode(dom_html_document *doc, - bool quirks) + dom_html_document_quirks_mode quirks) { doc->quirks = quirks; return DOM_NO_ERR; diff --git a/src/html/html_document.h b/src/html/html_document.h index 289f7a2..6d60aa5 100644 --- a/src/html/html_document.h +++ b/src/html/html_document.h @@ -23,7 +23,8 @@ struct dom_html_document { dom_string *domain; /**< HTML document domain */ dom_string *url; /**< HTML document URL */ dom_string *cookie; /**< HTML document cookie */ - bool quirks; /**< HTML document is in quirks mode */ + dom_html_document_quirks_mode quirks; + /**< HTML document is in quirks mode */ }; /* Create a HTMLDocument */ @@ -82,9 +83,9 @@ dom_exception _dom_html_document_writeln(dom_html_document *doc, dom_exception _dom_html_document_get_elements_by_name(dom_html_document *doc, dom_string *name, struct dom_nodelist **list); dom_exception _dom_html_document_get_quirks_mode(dom_html_document *doc, - bool *result); + dom_html_document_quirks_mode *result); dom_exception _dom_html_document_set_quirks_mode(dom_html_document *doc, - bool result); + dom_html_document_quirks_mode result); #define DOM_HTML_DOCUMENT_VTABLE \ -- cgit v1.2.3