summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/document.c17
-rw-r--r--src/core/document.h14
-rw-r--r--src/html/html_document.c17
-rw-r--r--src/html/html_document.h14
4 files changed, 33 insertions, 29 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 \
diff --git a/src/html/html_document.c b/src/html/html_document.c
index 9bce128..52e0b9c 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -73,7 +73,6 @@ dom_exception _dom_html_document_initialise(dom_html_document *doc,
doc->domain = NULL;
doc->url = NULL;
doc->cookie = NULL;
- doc->quirks = false;
return DOM_NO_ERR;
}
@@ -348,19 +347,3 @@ dom_exception _dom_html_document_get_elements_by_name(dom_html_document *doc,
return DOM_NOT_SUPPORTED_ERR;
}
-/*-----------------------------------------------------------------------*/
-/* Semi-internal API extensions for NetSurf */
-
-dom_exception _dom_html_document_get_quirks_mode(dom_html_document *doc,
- 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,
- 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 6d60aa5..3b7ed58 100644
--- a/src/html/html_document.h
+++ b/src/html/html_document.h
@@ -23,8 +23,6 @@ struct dom_html_document {
dom_string *domain; /**< HTML document domain */
dom_string *url; /**< HTML document URL */
dom_string *cookie; /**< HTML document cookie */
- dom_html_document_quirks_mode quirks;
- /**< HTML document is in quirks mode */
};
/* Create a HTMLDocument */
@@ -82,10 +80,6 @@ dom_exception _dom_html_document_writeln(dom_html_document *doc,
dom_string *text);
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,
- dom_html_document_quirks_mode *result);
-dom_exception _dom_html_document_set_quirks_mode(dom_html_document *doc,
- dom_html_document_quirks_mode result);
#define DOM_HTML_DOCUMENT_VTABLE \
@@ -107,9 +101,7 @@ dom_exception _dom_html_document_set_quirks_mode(dom_html_document *doc,
_dom_html_document_close, \
_dom_html_document_write, \
_dom_html_document_writeln, \
- _dom_html_document_get_elements_by_name, \
- _dom_html_document_get_quirks_mode, \
- _dom_html_document_set_quirks_mode
+ _dom_html_document_get_elements_by_name
dom_exception _dom_html_document_create_element(dom_document *doc,
dom_string *tag_name, dom_element **result);
@@ -148,7 +140,9 @@ dom_exception _dom_html_document_create_element_ns(dom_document *doc,
_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
#endif