Gitweb links:

...log 
http://git.netsurf-browser.org/libdom.git/shortlog/a2ffae698d4c12d9457c62b79eddd4342e2e213c
...commit 
http://git.netsurf-browser.org/libdom.git/commit/a2ffae698d4c12d9457c62b79eddd4342e2e213c
...tree 
http://git.netsurf-browser.org/libdom.git/tree/a2ffae698d4c12d9457c62b79eddd4342e2e213c

The branch, master has been updated
       via  a2ffae698d4c12d9457c62b79eddd4342e2e213c (commit)
      from  c90f98b7d5bdaecb1c497b155af5347aedb1d617 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commitdiff 
http://git.netsurf-browser.org/libdom.git/commit/?id=a2ffae698d4c12d9457c62b79eddd4342e2e213c
commit a2ffae698d4c12d9457c62b79eddd4342e2e213c
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>

    Constify vtables.

diff --git a/include/dom/core/node.h b/include/dom/core/node.h
index 9600e6d..5058c78 100644
--- a/include/dom/core/node.h
+++ b/include/dom/core/node.h
@@ -77,7 +77,7 @@ typedef struct dom_node_internal dom_node_internal;
  * DOM node type
  */
 typedef struct dom_node {
-       void *vtable;
+       const void *vtable;
        uint32_t refcnt;
 } dom_node;
 
diff --git a/src/core/attr.c b/src/core/attr.c
index e18e2a7..8fcaac3 100644
--- a/src/core/attr.c
+++ b/src/core/attr.c
@@ -49,7 +49,7 @@ struct dom_attr {
 };
 
 /* The vtable for dom_attr node */
-static struct dom_attr_vtable attr_vtable = {
+static const struct dom_attr_vtable attr_vtable = {
        {
                {
                        DOM_NODE_EVENT_TARGET_VTABLE,
@@ -60,7 +60,7 @@ static struct dom_attr_vtable attr_vtable = {
 };
 
 /* The protected vtable for dom_attr */
-static struct dom_node_protect_vtable attr_protect_vtable = {
+static const struct dom_node_protect_vtable attr_protect_vtable = {
        DOM_ATTR_PROTECT_VTABLE
 };
 
diff --git a/src/core/cdatasection.c b/src/core/cdatasection.c
index c6812e3..efba237 100644
--- a/src/core/cdatasection.c
+++ b/src/core/cdatasection.c
@@ -20,7 +20,7 @@ struct dom_cdata_section {
        dom_text base;          /**< Base node */
 };
 
-static struct dom_node_protect_vtable cdata_section_protect_vtable = {
+static const struct dom_node_protect_vtable cdata_section_protect_vtable = {
        DOM_CDATA_SECTION_PROTECT_VTABLE
 };
 
diff --git a/src/core/characterdata.c b/src/core/characterdata.c
index ea665b3..e6f5dbe 100644
--- a/src/core/characterdata.c
+++ b/src/core/characterdata.c
@@ -21,7 +21,7 @@
 
 /* The virtual functions for dom_characterdata, we make this vtable
  * public to each child class */
-struct dom_characterdata_vtable characterdata_vtable = {
+const struct dom_characterdata_vtable characterdata_vtable = {
        {
                {
                        DOM_NODE_EVENT_TARGET_VTABLE
diff --git a/src/core/characterdata.h b/src/core/characterdata.h
index 0b0889c..c8f4db3 100644
--- a/src/core/characterdata.h
+++ b/src/core/characterdata.h
@@ -116,7 +116,7 @@ dom_exception _dom_characterdata_copy(dom_node_internal 
*old,
        _dom_characterdata_destroy, \
        _dom_characterdata_copy
 
-extern struct dom_characterdata_vtable characterdata_vtable;
+extern const struct dom_characterdata_vtable characterdata_vtable;
 
 dom_exception _dom_characterdata_copy_internal(dom_characterdata *old, 
                dom_characterdata *new);
diff --git a/src/core/comment.c b/src/core/comment.c
index 0697826..b36a1be 100644
--- a/src/core/comment.c
+++ b/src/core/comment.c
@@ -21,7 +21,7 @@ struct dom_comment {
        dom_characterdata base; /**< Base node */
 };
 
-static struct dom_node_protect_vtable comment_protect_vtable = {
+static const struct dom_node_protect_vtable comment_protect_vtable = {
        DOM_COMMENT_PROTECT_VTABLE
 };
 
diff --git a/src/core/doc_fragment.c b/src/core/doc_fragment.c
index 96cc707..9e10a1a 100644
--- a/src/core/doc_fragment.c
+++ b/src/core/doc_fragment.c
@@ -22,14 +22,14 @@ struct dom_document_fragment {
        dom_node_internal base;         /**< Base node */
 };
 
-static struct dom_node_vtable df_vtable = {
+static const struct dom_node_vtable df_vtable = {
        {
                DOM_NODE_EVENT_TARGET_VTABLE
        },
        DOM_NODE_VTABLE
 };
 
-static struct dom_node_protect_vtable df_protect_vtable = {
+static const struct dom_node_protect_vtable df_protect_vtable = {
        DOM_DF_PROTECT_VTABLE
 };
 
diff --git a/src/core/document.c b/src/core/document.c
index 7c0bcdc..40d4cd9 100644
--- a/src/core/document.c
+++ b/src/core/document.c
@@ -42,7 +42,7 @@ struct dom_doc_nl {
 };
 
 /* The virtual functions of this dom_document */
-static struct dom_document_vtable document_vtable = {
+static const struct dom_document_vtable document_vtable = {
        {
                {
                        DOM_NODE_EVENT_TARGET_VTABLE
@@ -52,7 +52,7 @@ static struct dom_document_vtable document_vtable = {
        DOM_DOCUMENT_VTABLE
 };
 
-static struct dom_node_protect_vtable document_protect_vtable = {
+static const struct dom_node_protect_vtable document_protect_vtable = {
        DOM_DOCUMENT_PROTECT_VTABLE
 };
 
diff --git a/src/core/document_type.c b/src/core/document_type.c
index d7b1b99..a0fafdd 100644
--- a/src/core/document_type.c
+++ b/src/core/document_type.c
@@ -27,7 +27,7 @@ struct dom_document_type {
        dom_string *system_id;  /**< Doctype system ID */
 };
 
-static struct dom_document_type_vtable document_type_vtable = {
+static const struct dom_document_type_vtable document_type_vtable = {
        {
                {
                        DOM_NODE_EVENT_TARGET_VTABLE
@@ -37,7 +37,7 @@ static struct dom_document_type_vtable document_type_vtable = 
{
        DOM_DOCUMENT_TYPE_VTABLE
 };
 
-static struct dom_node_protect_vtable dt_protect_vtable = {
+static const struct dom_node_protect_vtable dt_protect_vtable = {
        DOM_DT_PROTECT_VTABLE
 };
 
diff --git a/src/core/element.c b/src/core/element.c
index dbdd56b..3b031a0 100644
--- a/src/core/element.c
+++ b/src/core/element.c
@@ -32,7 +32,7 @@
 #include "utils/list.h"
 #include "events/mutation_event.h"
 
-struct dom_element_vtable _dom_element_vtable = {
+const struct dom_element_vtable _dom_element_vtable = {
        {
                {
                        DOM_NODE_EVENT_TARGET_VTABLE
@@ -42,7 +42,7 @@ struct dom_element_vtable _dom_element_vtable = {
        DOM_ELEMENT_VTABLE
 };
 
-static struct dom_element_protected_vtable element_protect_vtable = {
+static const struct dom_element_protected_vtable element_protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_ELEMENT
        },
diff --git a/src/core/element.h b/src/core/element.h
index c89ddc0..fb946b7 100644
--- a/src/core/element.h
+++ b/src/core/element.h
@@ -238,6 +238,6 @@ dom_exception _dom_element_copy_internal(dom_element *old,
 
 dom_exception _dom_element_get_id(struct dom_element *ele, dom_string **id);
 
-extern struct dom_element_vtable _dom_element_vtable;
+extern const struct dom_element_vtable _dom_element_vtable;
 
 #endif
diff --git a/src/core/entity_ref.c b/src/core/entity_ref.c
index aa32111..bc6fbab 100644
--- a/src/core/entity_ref.c
+++ b/src/core/entity_ref.c
@@ -20,14 +20,14 @@ struct dom_entity_reference {
        dom_node_internal base;         /**< Base node */
 };
 
-static struct dom_node_vtable er_vtable = {
+static const struct dom_node_vtable er_vtable = {
        {
                DOM_NODE_EVENT_TARGET_VTABLE
        },
        DOM_NODE_VTABLE
 };
 
-static struct dom_node_protect_vtable er_protect_vtable = {
+static const struct dom_node_protect_vtable er_protect_vtable = {
        DOM_ER_PROTECT_VTABLE
 };
 
diff --git a/src/core/node.c b/src/core/node.c
index b471725..f8b8def 100644
--- a/src/core/node.c
+++ b/src/core/node.c
@@ -55,14 +55,14 @@ static inline dom_exception 
_dom_node_detach_range(dom_node_internal *first,
 static inline void _dom_node_replace(dom_node_internal *old, 
                dom_node_internal *replacement);
 
-static struct dom_node_vtable node_vtable = {
+static const struct dom_node_vtable node_vtable = {
        {
                DOM_NODE_EVENT_TARGET_VTABLE
        },
        DOM_NODE_VTABLE
 };
 
-static struct dom_node_protect_vtable node_protect_vtable = {
+static const struct dom_node_protect_vtable node_protect_vtable = {
        DOM_NODE_PROTECT_VTABLE
 };
 
diff --git a/src/core/node.h b/src/core/node.h
index 87f3cb3..36d0ec1 100644
--- a/src/core/node.h
+++ b/src/core/node.h
@@ -53,7 +53,7 @@ typedef struct dom_node_protect_vtable {
  */
 struct dom_node_internal {
        struct dom_node base;           /**< The vtable base */
-       void *vtable;                   /**< The protected vtable */
+       const void *vtable;             /**< The protected vtable */
 
        dom_string *name;               /**< Node name (this is the local part
                                         * of a QName in the cases where a
diff --git a/src/core/pi.c b/src/core/pi.c
index d12f109..3e69841 100644
--- a/src/core/pi.c
+++ b/src/core/pi.c
@@ -20,14 +20,14 @@ struct dom_processing_instruction {
        dom_node_internal base;         /**< Base node */
 };
 
-static struct dom_node_vtable pi_vtable = {
+static const struct dom_node_vtable pi_vtable = {
        {
                DOM_NODE_EVENT_TARGET_VTABLE
        },
        DOM_NODE_VTABLE
 };
 
-static struct dom_node_protect_vtable pi_protect_vtable = {
+static const struct dom_node_protect_vtable pi_protect_vtable = {
        DOM_PI_PROTECT_VTABLE
 };
 /**
diff --git a/src/core/text.c b/src/core/text.c
index b73e86d..f63fabe 100644
--- a/src/core/text.c
+++ b/src/core/text.c
@@ -20,7 +20,7 @@
 #include "utils/utils.h"
 
 /* The virtual table for dom_text */
-struct dom_text_vtable text_vtable = {
+const struct dom_text_vtable text_vtable = {
        {
                {
                        {
@@ -33,7 +33,7 @@ struct dom_text_vtable text_vtable = {
        DOM_TEXT_VTABLE
 };
 
-static struct dom_node_protect_vtable text_protect_vtable = {
+static const struct dom_node_protect_vtable text_protect_vtable = {
        DOM_TEXT_PROTECT_VTABLE
 };
 
diff --git a/src/core/text.h b/src/core/text.h
index 26424ce..3f5739b 100644
--- a/src/core/text.h
+++ b/src/core/text.h
@@ -66,7 +66,7 @@ dom_exception _dom_text_copy(dom_node_internal *old, 
dom_node_internal **copy);
        __dom_text_destroy, \
        _dom_text_copy
 
-extern struct dom_text_vtable text_vtable;
+extern const struct dom_text_vtable text_vtable;
 
 dom_exception _dom_text_copy_internal(dom_text *old, dom_text *new);
 #define dom_text_copy_internal(o, n) \
diff --git a/src/events/event.c b/src/events/event.c
index 3fe9978..26b245e 100644
--- a/src/events/event.c
+++ b/src/events/event.c
@@ -18,7 +18,7 @@
 
 static void _virtual_dom_event_destroy(dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_event_destroy
 };
 
diff --git a/src/events/event.h b/src/events/event.h
index 857f20a..7cada7b 100644
--- a/src/events/event.h
+++ b/src/events/event.h
@@ -45,7 +45,7 @@ struct dom_event {
 
        uint32_t refcnt;        /**< The reference count of this object */
 
-       struct dom_event_private_vtable *vtable;
+       const struct dom_event_private_vtable *vtable;
                        /**< The private virtual function table of Event */
        bool in_dispatch;       /**< Whether this event is in dispatch */
        bool is_initialised;    /**< Whether this event is initialised */
diff --git a/src/events/keyboard_event.c b/src/events/keyboard_event.c
index d349355..d1fa1ca 100644
--- a/src/events/keyboard_event.c
+++ b/src/events/keyboard_event.c
@@ -15,7 +15,7 @@
 
 static void _virtual_dom_keyboard_event_destroy(struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_keyboard_event_destroy
 };
 
diff --git a/src/events/mouse_event.c b/src/events/mouse_event.c
index b3b2154..ac1d142 100644
--- a/src/events/mouse_event.c
+++ b/src/events/mouse_event.c
@@ -15,7 +15,7 @@
 
 static void _virtual_dom_mouse_event_destroy(struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_mouse_event_destroy
 };
 
diff --git a/src/events/mouse_multi_wheel_event.c 
b/src/events/mouse_multi_wheel_event.c
index bcbe8d5..a42085a 100644
--- a/src/events/mouse_multi_wheel_event.c
+++ b/src/events/mouse_multi_wheel_event.c
@@ -16,7 +16,7 @@
 static void _virtual_dom_mouse_multi_wheel_event_destroy(
                struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_mouse_multi_wheel_event_destroy
 };
 
diff --git a/src/events/mouse_wheel_event.c b/src/events/mouse_wheel_event.c
index d59eab1..5d6bdd6 100644
--- a/src/events/mouse_wheel_event.c
+++ b/src/events/mouse_wheel_event.c
@@ -15,7 +15,7 @@
 
 static void _virtual_dom_mouse_wheel_event_destroy(struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_mouse_wheel_event_destroy
 };
 
diff --git a/src/events/mutation_event.c b/src/events/mutation_event.c
index df92c5f..2c5ffdc 100644
--- a/src/events/mutation_event.c
+++ b/src/events/mutation_event.c
@@ -11,7 +11,7 @@
 
 static void _virtual_dom_mutation_event_destroy(struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_mutation_event_destroy
 };
 
diff --git a/src/events/mutation_name_event.c b/src/events/mutation_name_event.c
index e0ba82e..13a51b5 100644
--- a/src/events/mutation_name_event.c
+++ b/src/events/mutation_name_event.c
@@ -14,7 +14,7 @@
 
 static void _virtual_dom_mutation_name_event_destroy(struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_mutation_name_event_destroy
 };
 
diff --git a/src/events/text_event.c b/src/events/text_event.c
index 3437716..d0d2706 100644
--- a/src/events/text_event.c
+++ b/src/events/text_event.c
@@ -12,7 +12,7 @@
 
 static void _virtual_dom_text_event_destroy(struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_text_event_destroy
 };
 
diff --git a/src/events/ui_event.c b/src/events/ui_event.c
index 34ec84d..672f999 100644
--- a/src/events/ui_event.c
+++ b/src/events/ui_event.c
@@ -11,7 +11,7 @@
 
 static void _virtual_dom_ui_event_destroy(struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_ui_event_destroy
 };
 
diff --git a/src/html/html_anchor_element.c b/src/html/html_anchor_element.c
index 8d64c2b..88fd2ac 100644
--- a/src/html/html_anchor_element.c
+++ b/src/html/html_anchor_element.c
@@ -18,7 +18,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_ANCHOR_ELEMENT
        },
diff --git a/src/html/html_applet_element.c b/src/html/html_applet_element.c
index 93ea1b5..f7f1afc 100644
--- a/src/html/html_applet_element.c
+++ b/src/html/html_applet_element.c
@@ -18,7 +18,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_APPLET_ELEMENT
        },
diff --git a/src/html/html_area_element.c b/src/html/html_area_element.c
index 828b073..3da59d7 100644
--- a/src/html/html_area_element.c
+++ b/src/html/html_area_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_AREA_ELEMENT
        },
diff --git a/src/html/html_base_element.c b/src/html/html_base_element.c
index 0034f7c..f322f5b 100644
--- a/src/html/html_base_element.c
+++ b/src/html/html_base_element.c
@@ -13,7 +13,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_BASE_ELEMENT
        },
diff --git a/src/html/html_basefont_element.c b/src/html/html_basefont_element.c
index ac1183d..b68ae03 100644
--- a/src/html/html_basefont_element.c
+++ b/src/html/html_basefont_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_BASE_FONT_ELEMENT
        },
diff --git a/src/html/html_body_element.c b/src/html/html_body_element.c
index 0fc4b13..4f52152 100644
--- a/src/html/html_body_element.c
+++ b/src/html/html_body_element.c
@@ -15,7 +15,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_BODY_ELEMENT
        },
diff --git a/src/html/html_br_element.c b/src/html/html_br_element.c
index 74e3ea8..71778f6 100644
--- a/src/html/html_br_element.c
+++ b/src/html/html_br_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_BR_ELEMENT
        },
diff --git a/src/html/html_button_element.c b/src/html/html_button_element.c
index 04a17dd..52a3607 100644
--- a/src/html/html_button_element.c
+++ b/src/html/html_button_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_BUTTON_ELEMENT
        },
diff --git a/src/html/html_canvas_element.c b/src/html/html_canvas_element.c
index 8e5d3fc..71d4a53 100644
--- a/src/html/html_canvas_element.c
+++ b/src/html/html_canvas_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_CANVAS_ELEMENT
        },
diff --git a/src/html/html_directory_element.c 
b/src/html/html_directory_element.c
index 585af1c..19db7cd 100644
--- a/src/html/html_directory_element.c
+++ b/src/html/html_directory_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_DIRECTORY_ELEMENT
        },
diff --git a/src/html/html_div_element.c b/src/html/html_div_element.c
index b061246..c39af74 100644
--- a/src/html/html_div_element.c
+++ b/src/html/html_div_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_DIV_ELEMENT
        },
diff --git a/src/html/html_dlist_element.c b/src/html/html_dlist_element.c
index ab9d4c3..fb0ad56 100644
--- a/src/html/html_dlist_element.c
+++ b/src/html/html_dlist_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_DL_ELEMENT
        },
diff --git a/src/html/html_document.c b/src/html/html_document.c
index 5d06e80..5471f4f 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -72,7 +72,7 @@
 #include "utils/namespace.h"
 #include "utils/utils.h"
 
-static struct dom_html_document_vtable html_document_vtable = {
+static const struct dom_html_document_vtable html_document_vtable = {
        {
                {
                        {
@@ -85,7 +85,7 @@ static struct dom_html_document_vtable html_document_vtable = 
{
        DOM_HTML_DOCUMENT_VTABLE
 };
 
-static struct dom_node_protect_vtable html_document_protect_vtable = {
+static const struct dom_node_protect_vtable html_document_protect_vtable = {
        DOM_HTML_DOCUMENT_PROTECT_VTABLE
 };
 
diff --git a/src/html/html_element.c b/src/html/html_element.c
index 5d3df37..df0fa6a 100644
--- a/src/html/html_element.c
+++ b/src/html/html_element.c
@@ -18,7 +18,7 @@
 #include "core/document.h"
 #include "utils/utils.h"
 
-struct dom_html_element_vtable _dom_html_element_vtable = {
+const struct dom_html_element_vtable _dom_html_element_vtable = {
        {
                {
                        {
@@ -31,7 +31,7 @@ struct dom_html_element_vtable _dom_html_element_vtable = {
        DOM_HTML_ELEMENT_VTABLE
 };
 
-static struct dom_element_protected_vtable _dom_html_element_protect_vtable = {
+static const struct dom_element_protected_vtable 
_dom_html_element_protect_vtable = {
        {
                DOM_HTML_ELEMENT_PROTECT_VTABLE
        },
diff --git a/src/html/html_element.h b/src/html/html_element.h
index 0290569..87e1bbb 100644
--- a/src/html/html_element.h
+++ b/src/html/html_element.h
@@ -162,7 +162,7 @@ dom_exception 
_dom_html_element_copy_internal(dom_html_element *old,
 #define dom_html_element_copy_internal(o, n) _dom_html_element_copy_internal( \
                (dom_html_element *) (o), (dom_html_element *) (n))
 
-extern struct dom_html_element_vtable _dom_html_element_vtable;
+extern const struct dom_html_element_vtable _dom_html_element_vtable;
 
 #endif
 
diff --git a/src/html/html_fieldset_element.c b/src/html/html_fieldset_element.c
index fe44e74..2ab8dd0 100644
--- a/src/html/html_fieldset_element.c
+++ b/src/html/html_fieldset_element.c
@@ -17,7 +17,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_FIELDSET_ELEMENT
        },
diff --git a/src/html/html_font_element.c b/src/html/html_font_element.c
index ecedfb0..38f8869 100644
--- a/src/html/html_font_element.c
+++ b/src/html/html_font_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_FONT_ELEMENT
        },
diff --git a/src/html/html_form_element.c b/src/html/html_form_element.c
index 1dd1992..5ba8365 100644
--- a/src/html/html_form_element.c
+++ b/src/html/html_form_element.c
@@ -22,7 +22,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_FORM_ELEMENT
        },
diff --git a/src/html/html_frame_element.c b/src/html/html_frame_element.c
index fe6859c..321cff9 100644
--- a/src/html/html_frame_element.c
+++ b/src/html/html_frame_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_FRAME_ELEMENT
        },
diff --git a/src/html/html_frameset_element.c b/src/html/html_frameset_element.c
index be44d5d..84a52b0 100644
--- a/src/html/html_frameset_element.c
+++ b/src/html/html_frameset_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_FRAME_SET_ELEMENT
        },
diff --git a/src/html/html_head_element.c b/src/html/html_head_element.c
index ff02b1f..20f6aa8 100644
--- a/src/html/html_head_element.c
+++ b/src/html/html_head_element.c
@@ -13,7 +13,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_HEAD_ELEMENT
        },
diff --git a/src/html/html_heading_element.c b/src/html/html_heading_element.c
index 8ab2c5a..21e36c6 100644
--- a/src/html/html_heading_element.c
+++ b/src/html/html_heading_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_HEADING_ELEMENT
        },
diff --git a/src/html/html_hr_element.c b/src/html/html_hr_element.c
index e6086f5..8ca9743 100644
--- a/src/html/html_hr_element.c
+++ b/src/html/html_hr_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_HR_ELEMENT
        },
diff --git a/src/html/html_html_element.c b/src/html/html_html_element.c
index 9cdcd5e..24f35e4 100644
--- a/src/html/html_html_element.c
+++ b/src/html/html_html_element.c
@@ -13,7 +13,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_HTML_ELEMENT
        },
diff --git a/src/html/html_iframe_element.c b/src/html/html_iframe_element.c
index 4d7272b..96397d0 100644
--- a/src/html/html_iframe_element.c
+++ b/src/html/html_iframe_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_IFRAME_ELEMENT
        },
diff --git a/src/html/html_image_element.c b/src/html/html_image_element.c
index 3cdd15f..e5b9c7b 100644
--- a/src/html/html_image_element.c
+++ b/src/html/html_image_element.c
@@ -18,7 +18,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_IMAGE_ELEMENT
        },
diff --git a/src/html/html_input_element.c b/src/html/html_input_element.c
index 079b55e..025ef5d 100644
--- a/src/html/html_input_element.c
+++ b/src/html/html_input_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_INPUT_ELEMENT
        },
diff --git a/src/html/html_isindex_element.c b/src/html/html_isindex_element.c
index 40cb99c..e793fae 100644
--- a/src/html/html_isindex_element.c
+++ b/src/html/html_isindex_element.c
@@ -16,7 +16,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_ISINDEX_ELEMENT
        },
diff --git a/src/html/html_label_element.c b/src/html/html_label_element.c
index 777144a..c62adca 100644
--- a/src/html/html_label_element.c
+++ b/src/html/html_label_element.c
@@ -15,7 +15,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_LABEL_ELEMENT
        },
diff --git a/src/html/html_legend_element.c b/src/html/html_legend_element.c
index efb712b..f4200c8 100644
--- a/src/html/html_legend_element.c
+++ b/src/html/html_legend_element.c
@@ -19,7 +19,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_LEGEND_ELEMENT
        },
diff --git a/src/html/html_li_element.c b/src/html/html_li_element.c
index 84becf9..6856046 100644
--- a/src/html/html_li_element.c
+++ b/src/html/html_li_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_LI_ELEMENT
        },
diff --git a/src/html/html_link_element.c b/src/html/html_link_element.c
index 87fe980..4916883 100644
--- a/src/html/html_link_element.c
+++ b/src/html/html_link_element.c
@@ -15,7 +15,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_LINK_ELEMENT
        },
diff --git a/src/html/html_map_element.c b/src/html/html_map_element.c
index 3b10222..865d9b6 100644
--- a/src/html/html_map_element.c
+++ b/src/html/html_map_element.c
@@ -19,7 +19,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_MAP_ELEMENT
        },
diff --git a/src/html/html_menu_element.c b/src/html/html_menu_element.c
index 09eadb6..882f1f2 100644
--- a/src/html/html_menu_element.c
+++ b/src/html/html_menu_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_MENU_ELEMENT
        },
diff --git a/src/html/html_meta_element.c b/src/html/html_meta_element.c
index 4098daf..39fd9e1 100644
--- a/src/html/html_meta_element.c
+++ b/src/html/html_meta_element.c
@@ -13,7 +13,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_META_ELEMENT
        },
diff --git a/src/html/html_mod_element.c b/src/html/html_mod_element.c
index 20cb042..4f3331c 100644
--- a/src/html/html_mod_element.c
+++ b/src/html/html_mod_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_MOD_ELEMENT
        },
diff --git a/src/html/html_object_element.c b/src/html/html_object_element.c
index b51e3a0..1359ede 100644
--- a/src/html/html_object_element.c
+++ b/src/html/html_object_element.c
@@ -20,7 +20,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_OBJECT_ELEMENT
        },
diff --git a/src/html/html_olist_element.c b/src/html/html_olist_element.c
index c89d11f..415b656 100644
--- a/src/html/html_olist_element.c
+++ b/src/html/html_olist_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_OLIST_ELEMENT
        },
diff --git a/src/html/html_opt_group_element.c 
b/src/html/html_opt_group_element.c
index 6af0a29..a50e3de 100644
--- a/src/html/html_opt_group_element.c
+++ b/src/html/html_opt_group_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_OPT_GROUP_ELEMENT
        },
diff --git a/src/html/html_paragraph_element.c 
b/src/html/html_paragraph_element.c
index 2b2f420..3c8f384 100644
--- a/src/html/html_paragraph_element.c
+++ b/src/html/html_paragraph_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_P_ELEMENT
        },
diff --git a/src/html/html_param_element.c b/src/html/html_param_element.c
index c75e1ce..2c991ac 100644
--- a/src/html/html_param_element.c
+++ b/src/html/html_param_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_PARAM_ELEMENT
        },
diff --git a/src/html/html_pre_element.c b/src/html/html_pre_element.c
index 64c8c3d..7582fde 100644
--- a/src/html/html_pre_element.c
+++ b/src/html/html_pre_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_PRE_ELEMENT
        },
diff --git a/src/html/html_quote_element.c b/src/html/html_quote_element.c
index cf3e0c5..f1bc06f 100644
--- a/src/html/html_quote_element.c
+++ b/src/html/html_quote_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_QUOTE_ELEMENT
        },
diff --git a/src/html/html_script_element.c b/src/html/html_script_element.c
index e8dfb1d..9acbf29 100644
--- a/src/html/html_script_element.c
+++ b/src/html/html_script_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_SCRIPT_ELEMENT
        },
diff --git a/src/html/html_select_element.c b/src/html/html_select_element.c
index 0801d0a..8ba78f1 100644
--- a/src/html/html_select_element.c
+++ b/src/html/html_select_element.c
@@ -17,7 +17,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_SELECT_ELEMENT
        },
diff --git a/src/html/html_style_element.c b/src/html/html_style_element.c
index ae845be..4e4974f 100644
--- a/src/html/html_style_element.c
+++ b/src/html/html_style_element.c
@@ -13,7 +13,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_STYLE_ELEMENT
        },
diff --git a/src/html/html_table_element.c b/src/html/html_table_element.c
index f197d07..010a6cd 100644
--- a/src/html/html_table_element.c
+++ b/src/html/html_table_element.c
@@ -21,7 +21,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TABLE_ELEMENT
        },
diff --git a/src/html/html_tablecaption_element.c 
b/src/html/html_tablecaption_element.c
index cae229c..0e55e3a 100644
--- a/src/html/html_tablecaption_element.c
+++ b/src/html/html_tablecaption_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TABLE_CAPTION_ELEMENT
        },
diff --git a/src/html/html_tablecell_element.c 
b/src/html/html_tablecell_element.c
index 7a1f968..2fc31c8 100644
--- a/src/html/html_tablecell_element.c
+++ b/src/html/html_tablecell_element.c
@@ -18,7 +18,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TABLE_CELL_ELEMENT
        },
diff --git a/src/html/html_tablecol_element.c b/src/html/html_tablecol_element.c
index 74169be..56bcd64 100644
--- a/src/html/html_tablecol_element.c
+++ b/src/html/html_tablecol_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TABLE_COL_ELEMENT
        },
diff --git a/src/html/html_tablerow_element.c b/src/html/html_tablerow_element.c
index 569e70f..1a6069b 100644
--- a/src/html/html_tablerow_element.c
+++ b/src/html/html_tablerow_element.c
@@ -20,7 +20,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TABLE_ROW_ELEMENT
        },
diff --git a/src/html/html_tablesection_element.c 
b/src/html/html_tablesection_element.c
index f839758..dee5ae5 100644
--- a/src/html/html_tablesection_element.c
+++ b/src/html/html_tablesection_element.c
@@ -21,7 +21,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TABLE_SECTION_ELEMENT
        },
diff --git a/src/html/html_text_area_element.c 
b/src/html/html_text_area_element.c
index 5c63c3c..db351bc 100644
--- a/src/html/html_text_area_element.c
+++ b/src/html/html_text_area_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TEXT_AREA_ELEMENT
        },
diff --git a/src/html/html_title_element.c b/src/html/html_title_element.c
index 440b9d5..f727dfa 100644
--- a/src/html/html_title_element.c
+++ b/src/html/html_title_element.c
@@ -17,7 +17,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TITLE_ELEMENT
        },
diff --git a/src/html/html_ulist_element.c b/src/html/html_ulist_element.c
index f2b87fb..48cb0c2 100644
--- a/src/html/html_ulist_element.c
+++ b/src/html/html_ulist_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_U_LIST_ELEMENT
        },


-----------------------------------------------------------------------

Summary of changes:
 include/dom/core/node.h              |    2 +-
 src/core/attr.c                      |    4 ++--
 src/core/cdatasection.c              |    2 +-
 src/core/characterdata.c             |    2 +-
 src/core/characterdata.h             |    2 +-
 src/core/comment.c                   |    2 +-
 src/core/doc_fragment.c              |    4 ++--
 src/core/document.c                  |    4 ++--
 src/core/document_type.c             |    4 ++--
 src/core/element.c                   |    4 ++--
 src/core/element.h                   |    2 +-
 src/core/entity_ref.c                |    4 ++--
 src/core/node.c                      |    4 ++--
 src/core/node.h                      |    2 +-
 src/core/pi.c                        |    4 ++--
 src/core/text.c                      |    4 ++--
 src/core/text.h                      |    2 +-
 src/events/event.c                   |    2 +-
 src/events/event.h                   |    2 +-
 src/events/keyboard_event.c          |    2 +-
 src/events/mouse_event.c             |    2 +-
 src/events/mouse_multi_wheel_event.c |    2 +-
 src/events/mouse_wheel_event.c       |    2 +-
 src/events/mutation_event.c          |    2 +-
 src/events/mutation_name_event.c     |    2 +-
 src/events/text_event.c              |    2 +-
 src/events/ui_event.c                |    2 +-
 src/html/html_anchor_element.c       |    2 +-
 src/html/html_applet_element.c       |    2 +-
 src/html/html_area_element.c         |    2 +-
 src/html/html_base_element.c         |    2 +-
 src/html/html_basefont_element.c     |    2 +-
 src/html/html_body_element.c         |    2 +-
 src/html/html_br_element.c           |    2 +-
 src/html/html_button_element.c       |    2 +-
 src/html/html_canvas_element.c       |    2 +-
 src/html/html_directory_element.c    |    2 +-
 src/html/html_div_element.c          |    2 +-
 src/html/html_dlist_element.c        |    2 +-
 src/html/html_document.c             |    4 ++--
 src/html/html_element.c              |    4 ++--
 src/html/html_element.h              |    2 +-
 src/html/html_fieldset_element.c     |    2 +-
 src/html/html_font_element.c         |    2 +-
 src/html/html_form_element.c         |    2 +-
 src/html/html_frame_element.c        |    2 +-
 src/html/html_frameset_element.c     |    2 +-
 src/html/html_head_element.c         |    2 +-
 src/html/html_heading_element.c      |    2 +-
 src/html/html_hr_element.c           |    2 +-
 src/html/html_html_element.c         |    2 +-
 src/html/html_iframe_element.c       |    2 +-
 src/html/html_image_element.c        |    2 +-
 src/html/html_input_element.c        |    2 +-
 src/html/html_isindex_element.c      |    2 +-
 src/html/html_label_element.c        |    2 +-
 src/html/html_legend_element.c       |    2 +-
 src/html/html_li_element.c           |    2 +-
 src/html/html_link_element.c         |    2 +-
 src/html/html_map_element.c          |    2 +-
 src/html/html_menu_element.c         |    2 +-
 src/html/html_meta_element.c         |    2 +-
 src/html/html_mod_element.c          |    2 +-
 src/html/html_object_element.c       |    2 +-
 src/html/html_olist_element.c        |    2 +-
 src/html/html_opt_group_element.c    |    2 +-
 src/html/html_paragraph_element.c    |    2 +-
 src/html/html_param_element.c        |    2 +-
 src/html/html_pre_element.c          |    2 +-
 src/html/html_quote_element.c        |    2 +-
 src/html/html_script_element.c       |    2 +-
 src/html/html_select_element.c       |    2 +-
 src/html/html_style_element.c        |    2 +-
 src/html/html_table_element.c        |    2 +-
 src/html/html_tablecaption_element.c |    2 +-
 src/html/html_tablecell_element.c    |    2 +-
 src/html/html_tablecol_element.c     |    2 +-
 src/html/html_tablerow_element.c     |    2 +-
 src/html/html_tablesection_element.c |    2 +-
 src/html/html_text_area_element.c    |    2 +-
 src/html/html_title_element.c        |    2 +-
 src/html/html_ulist_element.c        |    2 +-
 82 files changed, 93 insertions(+), 93 deletions(-)

diff --git a/include/dom/core/node.h b/include/dom/core/node.h
index 9600e6d..5058c78 100644
--- a/include/dom/core/node.h
+++ b/include/dom/core/node.h
@@ -77,7 +77,7 @@ typedef struct dom_node_internal dom_node_internal;
  * DOM node type
  */
 typedef struct dom_node {
-       void *vtable;
+       const void *vtable;
        uint32_t refcnt;
 } dom_node;
 
diff --git a/src/core/attr.c b/src/core/attr.c
index e18e2a7..8fcaac3 100644
--- a/src/core/attr.c
+++ b/src/core/attr.c
@@ -49,7 +49,7 @@ struct dom_attr {
 };
 
 /* The vtable for dom_attr node */
-static struct dom_attr_vtable attr_vtable = {
+static const struct dom_attr_vtable attr_vtable = {
        {
                {
                        DOM_NODE_EVENT_TARGET_VTABLE,
@@ -60,7 +60,7 @@ static struct dom_attr_vtable attr_vtable = {
 };
 
 /* The protected vtable for dom_attr */
-static struct dom_node_protect_vtable attr_protect_vtable = {
+static const struct dom_node_protect_vtable attr_protect_vtable = {
        DOM_ATTR_PROTECT_VTABLE
 };
 
diff --git a/src/core/cdatasection.c b/src/core/cdatasection.c
index c6812e3..efba237 100644
--- a/src/core/cdatasection.c
+++ b/src/core/cdatasection.c
@@ -20,7 +20,7 @@ struct dom_cdata_section {
        dom_text base;          /**< Base node */
 };
 
-static struct dom_node_protect_vtable cdata_section_protect_vtable = {
+static const struct dom_node_protect_vtable cdata_section_protect_vtable = {
        DOM_CDATA_SECTION_PROTECT_VTABLE
 };
 
diff --git a/src/core/characterdata.c b/src/core/characterdata.c
index ea665b3..e6f5dbe 100644
--- a/src/core/characterdata.c
+++ b/src/core/characterdata.c
@@ -21,7 +21,7 @@
 
 /* The virtual functions for dom_characterdata, we make this vtable
  * public to each child class */
-struct dom_characterdata_vtable characterdata_vtable = {
+const struct dom_characterdata_vtable characterdata_vtable = {
        {
                {
                        DOM_NODE_EVENT_TARGET_VTABLE
diff --git a/src/core/characterdata.h b/src/core/characterdata.h
index 0b0889c..c8f4db3 100644
--- a/src/core/characterdata.h
+++ b/src/core/characterdata.h
@@ -116,7 +116,7 @@ dom_exception _dom_characterdata_copy(dom_node_internal 
*old,
        _dom_characterdata_destroy, \
        _dom_characterdata_copy
 
-extern struct dom_characterdata_vtable characterdata_vtable;
+extern const struct dom_characterdata_vtable characterdata_vtable;
 
 dom_exception _dom_characterdata_copy_internal(dom_characterdata *old, 
                dom_characterdata *new);
diff --git a/src/core/comment.c b/src/core/comment.c
index 0697826..b36a1be 100644
--- a/src/core/comment.c
+++ b/src/core/comment.c
@@ -21,7 +21,7 @@ struct dom_comment {
        dom_characterdata base; /**< Base node */
 };
 
-static struct dom_node_protect_vtable comment_protect_vtable = {
+static const struct dom_node_protect_vtable comment_protect_vtable = {
        DOM_COMMENT_PROTECT_VTABLE
 };
 
diff --git a/src/core/doc_fragment.c b/src/core/doc_fragment.c
index 96cc707..9e10a1a 100644
--- a/src/core/doc_fragment.c
+++ b/src/core/doc_fragment.c
@@ -22,14 +22,14 @@ struct dom_document_fragment {
        dom_node_internal base;         /**< Base node */
 };
 
-static struct dom_node_vtable df_vtable = {
+static const struct dom_node_vtable df_vtable = {
        {
                DOM_NODE_EVENT_TARGET_VTABLE
        },
        DOM_NODE_VTABLE
 };
 
-static struct dom_node_protect_vtable df_protect_vtable = {
+static const struct dom_node_protect_vtable df_protect_vtable = {
        DOM_DF_PROTECT_VTABLE
 };
 
diff --git a/src/core/document.c b/src/core/document.c
index 7c0bcdc..40d4cd9 100644
--- a/src/core/document.c
+++ b/src/core/document.c
@@ -42,7 +42,7 @@ struct dom_doc_nl {
 };
 
 /* The virtual functions of this dom_document */
-static struct dom_document_vtable document_vtable = {
+static const struct dom_document_vtable document_vtable = {
        {
                {
                        DOM_NODE_EVENT_TARGET_VTABLE
@@ -52,7 +52,7 @@ static struct dom_document_vtable document_vtable = {
        DOM_DOCUMENT_VTABLE
 };
 
-static struct dom_node_protect_vtable document_protect_vtable = {
+static const struct dom_node_protect_vtable document_protect_vtable = {
        DOM_DOCUMENT_PROTECT_VTABLE
 };
 
diff --git a/src/core/document_type.c b/src/core/document_type.c
index d7b1b99..a0fafdd 100644
--- a/src/core/document_type.c
+++ b/src/core/document_type.c
@@ -27,7 +27,7 @@ struct dom_document_type {
        dom_string *system_id;  /**< Doctype system ID */
 };
 
-static struct dom_document_type_vtable document_type_vtable = {
+static const struct dom_document_type_vtable document_type_vtable = {
        {
                {
                        DOM_NODE_EVENT_TARGET_VTABLE
@@ -37,7 +37,7 @@ static struct dom_document_type_vtable document_type_vtable = 
{
        DOM_DOCUMENT_TYPE_VTABLE
 };
 
-static struct dom_node_protect_vtable dt_protect_vtable = {
+static const struct dom_node_protect_vtable dt_protect_vtable = {
        DOM_DT_PROTECT_VTABLE
 };
 
diff --git a/src/core/element.c b/src/core/element.c
index dbdd56b..3b031a0 100644
--- a/src/core/element.c
+++ b/src/core/element.c
@@ -32,7 +32,7 @@
 #include "utils/list.h"
 #include "events/mutation_event.h"
 
-struct dom_element_vtable _dom_element_vtable = {
+const struct dom_element_vtable _dom_element_vtable = {
        {
                {
                        DOM_NODE_EVENT_TARGET_VTABLE
@@ -42,7 +42,7 @@ struct dom_element_vtable _dom_element_vtable = {
        DOM_ELEMENT_VTABLE
 };
 
-static struct dom_element_protected_vtable element_protect_vtable = {
+static const struct dom_element_protected_vtable element_protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_ELEMENT
        },
diff --git a/src/core/element.h b/src/core/element.h
index c89ddc0..fb946b7 100644
--- a/src/core/element.h
+++ b/src/core/element.h
@@ -238,6 +238,6 @@ dom_exception _dom_element_copy_internal(dom_element *old,
 
 dom_exception _dom_element_get_id(struct dom_element *ele, dom_string **id);
 
-extern struct dom_element_vtable _dom_element_vtable;
+extern const struct dom_element_vtable _dom_element_vtable;
 
 #endif
diff --git a/src/core/entity_ref.c b/src/core/entity_ref.c
index aa32111..bc6fbab 100644
--- a/src/core/entity_ref.c
+++ b/src/core/entity_ref.c
@@ -20,14 +20,14 @@ struct dom_entity_reference {
        dom_node_internal base;         /**< Base node */
 };
 
-static struct dom_node_vtable er_vtable = {
+static const struct dom_node_vtable er_vtable = {
        {
                DOM_NODE_EVENT_TARGET_VTABLE
        },
        DOM_NODE_VTABLE
 };
 
-static struct dom_node_protect_vtable er_protect_vtable = {
+static const struct dom_node_protect_vtable er_protect_vtable = {
        DOM_ER_PROTECT_VTABLE
 };
 
diff --git a/src/core/node.c b/src/core/node.c
index b471725..f8b8def 100644
--- a/src/core/node.c
+++ b/src/core/node.c
@@ -55,14 +55,14 @@ static inline dom_exception 
_dom_node_detach_range(dom_node_internal *first,
 static inline void _dom_node_replace(dom_node_internal *old, 
                dom_node_internal *replacement);
 
-static struct dom_node_vtable node_vtable = {
+static const struct dom_node_vtable node_vtable = {
        {
                DOM_NODE_EVENT_TARGET_VTABLE
        },
        DOM_NODE_VTABLE
 };
 
-static struct dom_node_protect_vtable node_protect_vtable = {
+static const struct dom_node_protect_vtable node_protect_vtable = {
        DOM_NODE_PROTECT_VTABLE
 };
 
diff --git a/src/core/node.h b/src/core/node.h
index 87f3cb3..36d0ec1 100644
--- a/src/core/node.h
+++ b/src/core/node.h
@@ -53,7 +53,7 @@ typedef struct dom_node_protect_vtable {
  */
 struct dom_node_internal {
        struct dom_node base;           /**< The vtable base */
-       void *vtable;                   /**< The protected vtable */
+       const void *vtable;             /**< The protected vtable */
 
        dom_string *name;               /**< Node name (this is the local part
                                         * of a QName in the cases where a
diff --git a/src/core/pi.c b/src/core/pi.c
index d12f109..3e69841 100644
--- a/src/core/pi.c
+++ b/src/core/pi.c
@@ -20,14 +20,14 @@ struct dom_processing_instruction {
        dom_node_internal base;         /**< Base node */
 };
 
-static struct dom_node_vtable pi_vtable = {
+static const struct dom_node_vtable pi_vtable = {
        {
                DOM_NODE_EVENT_TARGET_VTABLE
        },
        DOM_NODE_VTABLE
 };
 
-static struct dom_node_protect_vtable pi_protect_vtable = {
+static const struct dom_node_protect_vtable pi_protect_vtable = {
        DOM_PI_PROTECT_VTABLE
 };
 /**
diff --git a/src/core/text.c b/src/core/text.c
index b73e86d..f63fabe 100644
--- a/src/core/text.c
+++ b/src/core/text.c
@@ -20,7 +20,7 @@
 #include "utils/utils.h"
 
 /* The virtual table for dom_text */
-struct dom_text_vtable text_vtable = {
+const struct dom_text_vtable text_vtable = {
        {
                {
                        {
@@ -33,7 +33,7 @@ struct dom_text_vtable text_vtable = {
        DOM_TEXT_VTABLE
 };
 
-static struct dom_node_protect_vtable text_protect_vtable = {
+static const struct dom_node_protect_vtable text_protect_vtable = {
        DOM_TEXT_PROTECT_VTABLE
 };
 
diff --git a/src/core/text.h b/src/core/text.h
index 26424ce..3f5739b 100644
--- a/src/core/text.h
+++ b/src/core/text.h
@@ -66,7 +66,7 @@ dom_exception _dom_text_copy(dom_node_internal *old, 
dom_node_internal **copy);
        __dom_text_destroy, \
        _dom_text_copy
 
-extern struct dom_text_vtable text_vtable;
+extern const struct dom_text_vtable text_vtable;
 
 dom_exception _dom_text_copy_internal(dom_text *old, dom_text *new);
 #define dom_text_copy_internal(o, n) \
diff --git a/src/events/event.c b/src/events/event.c
index 3fe9978..26b245e 100644
--- a/src/events/event.c
+++ b/src/events/event.c
@@ -18,7 +18,7 @@
 
 static void _virtual_dom_event_destroy(dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_event_destroy
 };
 
diff --git a/src/events/event.h b/src/events/event.h
index 857f20a..7cada7b 100644
--- a/src/events/event.h
+++ b/src/events/event.h
@@ -45,7 +45,7 @@ struct dom_event {
 
        uint32_t refcnt;        /**< The reference count of this object */
 
-       struct dom_event_private_vtable *vtable;
+       const struct dom_event_private_vtable *vtable;
                        /**< The private virtual function table of Event */
        bool in_dispatch;       /**< Whether this event is in dispatch */
        bool is_initialised;    /**< Whether this event is initialised */
diff --git a/src/events/keyboard_event.c b/src/events/keyboard_event.c
index d349355..d1fa1ca 100644
--- a/src/events/keyboard_event.c
+++ b/src/events/keyboard_event.c
@@ -15,7 +15,7 @@
 
 static void _virtual_dom_keyboard_event_destroy(struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_keyboard_event_destroy
 };
 
diff --git a/src/events/mouse_event.c b/src/events/mouse_event.c
index b3b2154..ac1d142 100644
--- a/src/events/mouse_event.c
+++ b/src/events/mouse_event.c
@@ -15,7 +15,7 @@
 
 static void _virtual_dom_mouse_event_destroy(struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_mouse_event_destroy
 };
 
diff --git a/src/events/mouse_multi_wheel_event.c 
b/src/events/mouse_multi_wheel_event.c
index bcbe8d5..a42085a 100644
--- a/src/events/mouse_multi_wheel_event.c
+++ b/src/events/mouse_multi_wheel_event.c
@@ -16,7 +16,7 @@
 static void _virtual_dom_mouse_multi_wheel_event_destroy(
                struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_mouse_multi_wheel_event_destroy
 };
 
diff --git a/src/events/mouse_wheel_event.c b/src/events/mouse_wheel_event.c
index d59eab1..5d6bdd6 100644
--- a/src/events/mouse_wheel_event.c
+++ b/src/events/mouse_wheel_event.c
@@ -15,7 +15,7 @@
 
 static void _virtual_dom_mouse_wheel_event_destroy(struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_mouse_wheel_event_destroy
 };
 
diff --git a/src/events/mutation_event.c b/src/events/mutation_event.c
index df92c5f..2c5ffdc 100644
--- a/src/events/mutation_event.c
+++ b/src/events/mutation_event.c
@@ -11,7 +11,7 @@
 
 static void _virtual_dom_mutation_event_destroy(struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_mutation_event_destroy
 };
 
diff --git a/src/events/mutation_name_event.c b/src/events/mutation_name_event.c
index e0ba82e..13a51b5 100644
--- a/src/events/mutation_name_event.c
+++ b/src/events/mutation_name_event.c
@@ -14,7 +14,7 @@
 
 static void _virtual_dom_mutation_name_event_destroy(struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_mutation_name_event_destroy
 };
 
diff --git a/src/events/text_event.c b/src/events/text_event.c
index 3437716..d0d2706 100644
--- a/src/events/text_event.c
+++ b/src/events/text_event.c
@@ -12,7 +12,7 @@
 
 static void _virtual_dom_text_event_destroy(struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_text_event_destroy
 };
 
diff --git a/src/events/ui_event.c b/src/events/ui_event.c
index 34ec84d..672f999 100644
--- a/src/events/ui_event.c
+++ b/src/events/ui_event.c
@@ -11,7 +11,7 @@
 
 static void _virtual_dom_ui_event_destroy(struct dom_event *evt);
 
-static struct dom_event_private_vtable _event_vtable = {
+static const struct dom_event_private_vtable _event_vtable = {
        _virtual_dom_ui_event_destroy
 };
 
diff --git a/src/html/html_anchor_element.c b/src/html/html_anchor_element.c
index 8d64c2b..88fd2ac 100644
--- a/src/html/html_anchor_element.c
+++ b/src/html/html_anchor_element.c
@@ -18,7 +18,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_ANCHOR_ELEMENT
        },
diff --git a/src/html/html_applet_element.c b/src/html/html_applet_element.c
index 93ea1b5..f7f1afc 100644
--- a/src/html/html_applet_element.c
+++ b/src/html/html_applet_element.c
@@ -18,7 +18,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_APPLET_ELEMENT
        },
diff --git a/src/html/html_area_element.c b/src/html/html_area_element.c
index 828b073..3da59d7 100644
--- a/src/html/html_area_element.c
+++ b/src/html/html_area_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_AREA_ELEMENT
        },
diff --git a/src/html/html_base_element.c b/src/html/html_base_element.c
index 0034f7c..f322f5b 100644
--- a/src/html/html_base_element.c
+++ b/src/html/html_base_element.c
@@ -13,7 +13,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_BASE_ELEMENT
        },
diff --git a/src/html/html_basefont_element.c b/src/html/html_basefont_element.c
index ac1183d..b68ae03 100644
--- a/src/html/html_basefont_element.c
+++ b/src/html/html_basefont_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_BASE_FONT_ELEMENT
        },
diff --git a/src/html/html_body_element.c b/src/html/html_body_element.c
index 0fc4b13..4f52152 100644
--- a/src/html/html_body_element.c
+++ b/src/html/html_body_element.c
@@ -15,7 +15,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_BODY_ELEMENT
        },
diff --git a/src/html/html_br_element.c b/src/html/html_br_element.c
index 74e3ea8..71778f6 100644
--- a/src/html/html_br_element.c
+++ b/src/html/html_br_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_BR_ELEMENT
        },
diff --git a/src/html/html_button_element.c b/src/html/html_button_element.c
index 04a17dd..52a3607 100644
--- a/src/html/html_button_element.c
+++ b/src/html/html_button_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_BUTTON_ELEMENT
        },
diff --git a/src/html/html_canvas_element.c b/src/html/html_canvas_element.c
index 8e5d3fc..71d4a53 100644
--- a/src/html/html_canvas_element.c
+++ b/src/html/html_canvas_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_CANVAS_ELEMENT
        },
diff --git a/src/html/html_directory_element.c 
b/src/html/html_directory_element.c
index 585af1c..19db7cd 100644
--- a/src/html/html_directory_element.c
+++ b/src/html/html_directory_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_DIRECTORY_ELEMENT
        },
diff --git a/src/html/html_div_element.c b/src/html/html_div_element.c
index b061246..c39af74 100644
--- a/src/html/html_div_element.c
+++ b/src/html/html_div_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_DIV_ELEMENT
        },
diff --git a/src/html/html_dlist_element.c b/src/html/html_dlist_element.c
index ab9d4c3..fb0ad56 100644
--- a/src/html/html_dlist_element.c
+++ b/src/html/html_dlist_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_DL_ELEMENT
        },
diff --git a/src/html/html_document.c b/src/html/html_document.c
index 5d06e80..5471f4f 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -72,7 +72,7 @@
 #include "utils/namespace.h"
 #include "utils/utils.h"
 
-static struct dom_html_document_vtable html_document_vtable = {
+static const struct dom_html_document_vtable html_document_vtable = {
        {
                {
                        {
@@ -85,7 +85,7 @@ static struct dom_html_document_vtable html_document_vtable = 
{
        DOM_HTML_DOCUMENT_VTABLE
 };
 
-static struct dom_node_protect_vtable html_document_protect_vtable = {
+static const struct dom_node_protect_vtable html_document_protect_vtable = {
        DOM_HTML_DOCUMENT_PROTECT_VTABLE
 };
 
diff --git a/src/html/html_element.c b/src/html/html_element.c
index 5d3df37..df0fa6a 100644
--- a/src/html/html_element.c
+++ b/src/html/html_element.c
@@ -18,7 +18,7 @@
 #include "core/document.h"
 #include "utils/utils.h"
 
-struct dom_html_element_vtable _dom_html_element_vtable = {
+const struct dom_html_element_vtable _dom_html_element_vtable = {
        {
                {
                        {
@@ -31,7 +31,7 @@ struct dom_html_element_vtable _dom_html_element_vtable = {
        DOM_HTML_ELEMENT_VTABLE
 };
 
-static struct dom_element_protected_vtable _dom_html_element_protect_vtable = {
+static const struct dom_element_protected_vtable 
_dom_html_element_protect_vtable = {
        {
                DOM_HTML_ELEMENT_PROTECT_VTABLE
        },
diff --git a/src/html/html_element.h b/src/html/html_element.h
index 0290569..87e1bbb 100644
--- a/src/html/html_element.h
+++ b/src/html/html_element.h
@@ -162,7 +162,7 @@ dom_exception 
_dom_html_element_copy_internal(dom_html_element *old,
 #define dom_html_element_copy_internal(o, n) _dom_html_element_copy_internal( \
                (dom_html_element *) (o), (dom_html_element *) (n))
 
-extern struct dom_html_element_vtable _dom_html_element_vtable;
+extern const struct dom_html_element_vtable _dom_html_element_vtable;
 
 #endif
 
diff --git a/src/html/html_fieldset_element.c b/src/html/html_fieldset_element.c
index fe44e74..2ab8dd0 100644
--- a/src/html/html_fieldset_element.c
+++ b/src/html/html_fieldset_element.c
@@ -17,7 +17,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_FIELDSET_ELEMENT
        },
diff --git a/src/html/html_font_element.c b/src/html/html_font_element.c
index ecedfb0..38f8869 100644
--- a/src/html/html_font_element.c
+++ b/src/html/html_font_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_FONT_ELEMENT
        },
diff --git a/src/html/html_form_element.c b/src/html/html_form_element.c
index 1dd1992..5ba8365 100644
--- a/src/html/html_form_element.c
+++ b/src/html/html_form_element.c
@@ -22,7 +22,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_FORM_ELEMENT
        },
diff --git a/src/html/html_frame_element.c b/src/html/html_frame_element.c
index fe6859c..321cff9 100644
--- a/src/html/html_frame_element.c
+++ b/src/html/html_frame_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_FRAME_ELEMENT
        },
diff --git a/src/html/html_frameset_element.c b/src/html/html_frameset_element.c
index be44d5d..84a52b0 100644
--- a/src/html/html_frameset_element.c
+++ b/src/html/html_frameset_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_FRAME_SET_ELEMENT
        },
diff --git a/src/html/html_head_element.c b/src/html/html_head_element.c
index ff02b1f..20f6aa8 100644
--- a/src/html/html_head_element.c
+++ b/src/html/html_head_element.c
@@ -13,7 +13,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_HEAD_ELEMENT
        },
diff --git a/src/html/html_heading_element.c b/src/html/html_heading_element.c
index 8ab2c5a..21e36c6 100644
--- a/src/html/html_heading_element.c
+++ b/src/html/html_heading_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_HEADING_ELEMENT
        },
diff --git a/src/html/html_hr_element.c b/src/html/html_hr_element.c
index e6086f5..8ca9743 100644
--- a/src/html/html_hr_element.c
+++ b/src/html/html_hr_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_HR_ELEMENT
        },
diff --git a/src/html/html_html_element.c b/src/html/html_html_element.c
index 9cdcd5e..24f35e4 100644
--- a/src/html/html_html_element.c
+++ b/src/html/html_html_element.c
@@ -13,7 +13,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_HTML_ELEMENT
        },
diff --git a/src/html/html_iframe_element.c b/src/html/html_iframe_element.c
index 4d7272b..96397d0 100644
--- a/src/html/html_iframe_element.c
+++ b/src/html/html_iframe_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_IFRAME_ELEMENT
        },
diff --git a/src/html/html_image_element.c b/src/html/html_image_element.c
index 3cdd15f..e5b9c7b 100644
--- a/src/html/html_image_element.c
+++ b/src/html/html_image_element.c
@@ -18,7 +18,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_IMAGE_ELEMENT
        },
diff --git a/src/html/html_input_element.c b/src/html/html_input_element.c
index 079b55e..025ef5d 100644
--- a/src/html/html_input_element.c
+++ b/src/html/html_input_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_INPUT_ELEMENT
        },
diff --git a/src/html/html_isindex_element.c b/src/html/html_isindex_element.c
index 40cb99c..e793fae 100644
--- a/src/html/html_isindex_element.c
+++ b/src/html/html_isindex_element.c
@@ -16,7 +16,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_ISINDEX_ELEMENT
        },
diff --git a/src/html/html_label_element.c b/src/html/html_label_element.c
index 777144a..c62adca 100644
--- a/src/html/html_label_element.c
+++ b/src/html/html_label_element.c
@@ -15,7 +15,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_LABEL_ELEMENT
        },
diff --git a/src/html/html_legend_element.c b/src/html/html_legend_element.c
index efb712b..f4200c8 100644
--- a/src/html/html_legend_element.c
+++ b/src/html/html_legend_element.c
@@ -19,7 +19,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_LEGEND_ELEMENT
        },
diff --git a/src/html/html_li_element.c b/src/html/html_li_element.c
index 84becf9..6856046 100644
--- a/src/html/html_li_element.c
+++ b/src/html/html_li_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_LI_ELEMENT
        },
diff --git a/src/html/html_link_element.c b/src/html/html_link_element.c
index 87fe980..4916883 100644
--- a/src/html/html_link_element.c
+++ b/src/html/html_link_element.c
@@ -15,7 +15,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_LINK_ELEMENT
        },
diff --git a/src/html/html_map_element.c b/src/html/html_map_element.c
index 3b10222..865d9b6 100644
--- a/src/html/html_map_element.c
+++ b/src/html/html_map_element.c
@@ -19,7 +19,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_MAP_ELEMENT
        },
diff --git a/src/html/html_menu_element.c b/src/html/html_menu_element.c
index 09eadb6..882f1f2 100644
--- a/src/html/html_menu_element.c
+++ b/src/html/html_menu_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_MENU_ELEMENT
        },
diff --git a/src/html/html_meta_element.c b/src/html/html_meta_element.c
index 4098daf..39fd9e1 100644
--- a/src/html/html_meta_element.c
+++ b/src/html/html_meta_element.c
@@ -13,7 +13,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_META_ELEMENT
        },
diff --git a/src/html/html_mod_element.c b/src/html/html_mod_element.c
index 20cb042..4f3331c 100644
--- a/src/html/html_mod_element.c
+++ b/src/html/html_mod_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_MOD_ELEMENT
        },
diff --git a/src/html/html_object_element.c b/src/html/html_object_element.c
index b51e3a0..1359ede 100644
--- a/src/html/html_object_element.c
+++ b/src/html/html_object_element.c
@@ -20,7 +20,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_OBJECT_ELEMENT
        },
diff --git a/src/html/html_olist_element.c b/src/html/html_olist_element.c
index c89d11f..415b656 100644
--- a/src/html/html_olist_element.c
+++ b/src/html/html_olist_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_OLIST_ELEMENT
        },
diff --git a/src/html/html_opt_group_element.c 
b/src/html/html_opt_group_element.c
index 6af0a29..a50e3de 100644
--- a/src/html/html_opt_group_element.c
+++ b/src/html/html_opt_group_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_OPT_GROUP_ELEMENT
        },
diff --git a/src/html/html_paragraph_element.c 
b/src/html/html_paragraph_element.c
index 2b2f420..3c8f384 100644
--- a/src/html/html_paragraph_element.c
+++ b/src/html/html_paragraph_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_P_ELEMENT
        },
diff --git a/src/html/html_param_element.c b/src/html/html_param_element.c
index c75e1ce..2c991ac 100644
--- a/src/html/html_param_element.c
+++ b/src/html/html_param_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_PARAM_ELEMENT
        },
diff --git a/src/html/html_pre_element.c b/src/html/html_pre_element.c
index 64c8c3d..7582fde 100644
--- a/src/html/html_pre_element.c
+++ b/src/html/html_pre_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_PRE_ELEMENT
        },
diff --git a/src/html/html_quote_element.c b/src/html/html_quote_element.c
index cf3e0c5..f1bc06f 100644
--- a/src/html/html_quote_element.c
+++ b/src/html/html_quote_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_QUOTE_ELEMENT
        },
diff --git a/src/html/html_script_element.c b/src/html/html_script_element.c
index e8dfb1d..9acbf29 100644
--- a/src/html/html_script_element.c
+++ b/src/html/html_script_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_SCRIPT_ELEMENT
        },
diff --git a/src/html/html_select_element.c b/src/html/html_select_element.c
index 0801d0a..8ba78f1 100644
--- a/src/html/html_select_element.c
+++ b/src/html/html_select_element.c
@@ -17,7 +17,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_SELECT_ELEMENT
        },
diff --git a/src/html/html_style_element.c b/src/html/html_style_element.c
index ae845be..4e4974f 100644
--- a/src/html/html_style_element.c
+++ b/src/html/html_style_element.c
@@ -13,7 +13,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_STYLE_ELEMENT
        },
diff --git a/src/html/html_table_element.c b/src/html/html_table_element.c
index f197d07..010a6cd 100644
--- a/src/html/html_table_element.c
+++ b/src/html/html_table_element.c
@@ -21,7 +21,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TABLE_ELEMENT
        },
diff --git a/src/html/html_tablecaption_element.c 
b/src/html/html_tablecaption_element.c
index cae229c..0e55e3a 100644
--- a/src/html/html_tablecaption_element.c
+++ b/src/html/html_tablecaption_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TABLE_CAPTION_ELEMENT
        },
diff --git a/src/html/html_tablecell_element.c 
b/src/html/html_tablecell_element.c
index 7a1f968..2fc31c8 100644
--- a/src/html/html_tablecell_element.c
+++ b/src/html/html_tablecell_element.c
@@ -18,7 +18,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TABLE_CELL_ELEMENT
        },
diff --git a/src/html/html_tablecol_element.c b/src/html/html_tablecol_element.c
index 74169be..56bcd64 100644
--- a/src/html/html_tablecol_element.c
+++ b/src/html/html_tablecol_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TABLE_COL_ELEMENT
        },
diff --git a/src/html/html_tablerow_element.c b/src/html/html_tablerow_element.c
index 569e70f..1a6069b 100644
--- a/src/html/html_tablerow_element.c
+++ b/src/html/html_tablerow_element.c
@@ -20,7 +20,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TABLE_ROW_ELEMENT
        },
diff --git a/src/html/html_tablesection_element.c 
b/src/html/html_tablesection_element.c
index f839758..dee5ae5 100644
--- a/src/html/html_tablesection_element.c
+++ b/src/html/html_tablesection_element.c
@@ -21,7 +21,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TABLE_SECTION_ELEMENT
        },
diff --git a/src/html/html_text_area_element.c 
b/src/html/html_text_area_element.c
index 5c63c3c..db351bc 100644
--- a/src/html/html_text_area_element.c
+++ b/src/html/html_text_area_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TEXT_AREA_ELEMENT
        },
diff --git a/src/html/html_title_element.c b/src/html/html_title_element.c
index 440b9d5..f727dfa 100644
--- a/src/html/html_title_element.c
+++ b/src/html/html_title_element.c
@@ -17,7 +17,7 @@
 #include "core/node.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_TITLE_ELEMENT
        },
diff --git a/src/html/html_ulist_element.c b/src/html/html_ulist_element.c
index f2b87fb..48cb0c2 100644
--- a/src/html/html_ulist_element.c
+++ b/src/html/html_ulist_element.c
@@ -17,7 +17,7 @@
 #include "core/attr.h"
 #include "utils/utils.h"
 
-static struct dom_element_protected_vtable _protect_vtable = {
+static const struct dom_element_protected_vtable _protect_vtable = {
        {
                DOM_NODE_PROTECT_VTABLE_HTML_U_LIST_ELEMENT
        },


-- 
Document Object Model library
_______________________________________________
netsurf-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to