summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@netsurf-browser.org>2012-03-24 22:16:06 +0000
committerDaniel Silverstone <dsilvers@netsurf-browser.org>2012-03-24 22:16:06 +0000
commit7f46d9136b2356e910f20429ec3ec7bfa265c29c (patch)
tree5a446f28caf1180294359fa8500ffe5612d6f2f7 /src/core
parentfba4a540d3162c139a1d189283987fd7f1f2e19e (diff)
downloadlibdom-7f46d9136b2356e910f20429ec3ec7bfa265c29c.tar.gz
libdom-7f46d9136b2356e910f20429ec3ec7bfa265c29c.tar.bz2
Migrate quirks from html_document to document
svn path=/trunk/libdom/; revision=13633
Diffstat (limited to 'src/core')
-rw-r--r--src/core/document.c17
-rw-r--r--src/core/document.h14
2 files changed, 29 insertions, 2 deletions
diff --git a/src/core/document.c b/src/core/document.c
index fbdaa7a..ef2a54e 100644
--- a/src/core/document.c
+++ b/src/core/document.c
@@ -131,6 +131,7 @@ dom_exception _dom_document_initialise(dom_document *doc,
list_init(&doc->pending_nodes);
doc->id_name = NULL;
+ doc->quirks = DOM_DOCUMENT_QUIRKS_MODE_NONE;
err = dom_string_create_interned((const uint8_t *) "class",
SLEN("class"), &doc->class_string);
@@ -1374,3 +1375,19 @@ void _dom_document_set_id_name(dom_document *doc, dom_string *name)
doc->id_name = dom_string_ref(name);
}
+/*-----------------------------------------------------------------------*/
+/* Semi-internal API extensions for NetSurf */
+
+dom_exception _dom_document_get_quirks_mode(dom_document *doc,
+ dom_document_quirks_mode *result)
+{
+ *result = doc->quirks;
+ return DOM_NO_ERR;
+}
+
+dom_exception _dom_document_set_quirks_mode(dom_document *doc,
+ dom_document_quirks_mode quirks)
+{
+ doc->quirks = quirks;
+ return DOM_NO_ERR;
+}
diff --git a/src/core/document.h b/src/core/document.h
index a53c358..d8e6945 100644
--- a/src/core/document.h
+++ b/src/core/document.h
@@ -55,7 +55,9 @@ struct dom_document {
dom_string *class_string; /**< The string "class". */
dom_document_event_internal dei;
- /**< The DocumentEVent interface */
+ /**< The DocumentEvent interface */
+ dom_document_quirks_mode quirks;
+ /**< Document is in quirks mode */
};
/* Create a DOM document */
@@ -139,6 +141,11 @@ dom_exception _dom_document_rename_node(dom_document *doc,
dom_node *node,
dom_string *namespace, dom_string *qname,
dom_node **result);
+dom_exception _dom_document_get_quirks_mode(dom_document *doc,
+ dom_document_quirks_mode *result);
+dom_exception _dom_document_set_quirks_mode(dom_document *doc,
+ dom_document_quirks_mode result);
+
dom_exception _dom_document_get_text_content(dom_node_internal *node,
dom_string **result);
@@ -176,7 +183,10 @@ dom_exception _dom_document_set_text_content(dom_node_internal *node,
_dom_document_adopt_node, \
_dom_document_get_dom_config, \
_dom_document_normalize, \
- _dom_document_rename_node
+ _dom_document_rename_node, \
+ _dom_document_get_quirks_mode, \
+ _dom_document_set_quirks_mode
+
/* End of vtable */
#define DOM_NODE_VTABLE_DOCUMENT \