Gitweb links:

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

The branch, dsilvers/forms1 has been updated
       via  68a89f33cc8d2d9e6b2fd82739b713b4ed323a9d (commit)
      from  f192fc62a9a59fa26f5be15a07e36a9c80d3121f (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=68a89f33cc8d2d9e6b2fd82739b713b4ed323a9d
commit 68a89f33cc8d2d9e6b2fd82739b713b4ed323a9d
Author: Daniel Silverstone <[email protected]>
Commit: Daniel Silverstone <[email protected]>

    blech; initial radio nodelist stuff, nowhere near done

diff --git a/include/dom/html/html_radio_nodelist.h 
b/include/dom/html/html_radio_nodelist.h
index 502df38..fd4c710 100644
--- a/include/dom/html/html_radio_nodelist.h
+++ b/include/dom/html/html_radio_nodelist.h
@@ -5,29 +5,29 @@
  * Copyright 2018 Daniel Silverstone <[email protected]>
  */
 
-#ifndef dom_html_radionodelist_h_
-#define dom_html_radionodelist_h_
+#ifndef dom_html_radio_nodelist_h_
+#define dom_html_radio_nodelist_h_
 
 #include <dom/core/exceptions.h>
 #include <dom/core/string.h>
 
 struct dom_node;
 
-typedef struct dom_html_radionodelist dom_html_radionodelist;
+typedef struct dom_html_radio_nodelist dom_html_radio_nodelist;
 
-dom_exception dom_html_radionodelist_get_length(dom_html_radionodelist *col,
+dom_exception dom_html_radio_nodelist_get_length(dom_html_radio_nodelist *col,
                uint32_t *len);
-dom_exception dom_html_radionodelist_item(dom_html_radionodelist *col,
+dom_exception dom_html_radio_nodelist_item(dom_html_radio_nodelist *col,
                uint32_t index, struct dom_node **node);
 
-dom_exception dom_html_radionodelist_get_value(dom_html_radionodelist *col,
+dom_exception dom_html_radio_nodelist_get_value(dom_html_radio_nodelist *col,
                                               dom_string **value);
 
-dom_exception dom_html_radionodelist_set_value(dom_html_radionodelist *col,
+dom_exception dom_html_radio_nodelist_set_value(dom_html_radio_nodelist *col,
                                               dom_string **value);
 
-void dom_html_radionodelist_ref(dom_html_radionodelist *col);
-void dom_html_radionodelist_unref(dom_html_radionodelist *col);
+void dom_html_radio_nodelist_ref(dom_html_radio_nodelist *col);
+void dom_html_radio_nodelist_unref(dom_html_radio_nodelist *col);
 
 #endif
 
diff --git a/src/html/Makefile b/src/html/Makefile
index cf864bb..55a2d15 100644
--- a/src/html/Makefile
+++ b/src/html/Makefile
@@ -19,6 +19,7 @@ DIR_SOURCES := \
        html_tablecell_element.c html_tablecol_element.c 
html_tablesection_element.c \
        html_table_element.c html_tablerow_element.c html_frameset_element.c \
        html_frame_element.c html_iframe_element.c html_isindex_element.c \
+       html_radio_nodelist.c \
 
 UNINMPLEMENTED_SOURCES := \
 
diff --git a/src/html/html_form_controls_collection.c 
b/src/html/html_form_controls_collection.c
index 34a3bb4..241a44d 100644
--- a/src/html/html_form_controls_collection.c
+++ b/src/html/html_form_controls_collection.c
@@ -23,14 +23,12 @@
 #include "core/element.h"
 #include "core/string.h"
 
-static bool _dom_is_form_control(struct dom_node_internal *node, void *ctx);
-
 /*-----------------------------------------------------------------------*/
 /* Internal functions */
 
 /* Callback function to test whether certain node is a form control, see 
  * src/html/html_collection.h for detail. */
-static bool _dom_is_form_control(struct dom_node_internal *node, void *ctx)
+bool _dom_is_form_control(struct dom_node_internal *node, void *ctx)
 {
        struct dom_html_document *doc =
                (struct dom_html_document *)(node->owner);
diff --git a/src/html/html_form_controls_collection.h 
b/src/html/html_form_controls_collection.h
index 36cdce0..2604c38 100644
--- a/src/html/html_form_controls_collection.h
+++ b/src/html/html_form_controls_collection.h
@@ -14,6 +14,9 @@
 
 struct dom_html_form_element;
 
+/* Exposed so that the radio nodelist can use it as a sub-criterion */
+bool _dom_is_form_control(struct dom_node_internal *node, void *ctx);
+
 dom_exception _dom_html_form_controls_collection_create(struct 
dom_html_form_element *form,
                dom_html_form_controls_collection **col);
 
diff --git a/src/html/html_radio_nodelist.c b/src/html/html_radio_nodelist.c
new file mode 100644
index 0000000..231900e
--- /dev/null
+++ b/src/html/html_radio_nodelist.c
@@ -0,0 +1,199 @@
+/*
+ * This file is part of libdom.
+ * Licensed under the MIT License,
+ *                http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2018 Daniel Silverstone <[email protected]>
+ */
+
+#include <assert.h>
+#include <stdlib.h>
+
+#include <libwapcaplet/libwapcaplet.h>
+
+#include <dom/html/html_radio_nodelist.h>
+
+#include "html/html_radio_nodelist.h"
+#include "html/html_form_controls_collection.h"
+#include "html/html_document.h"
+#include "html/html_form_element.h"
+
+#include "core/node.h"
+#include "core/element.h"
+#include "core/string.h"
+
+/*-----------------------------------------------------------------------*/
+/* Internal functions */
+
+/* Callback function to test whether certain node is a form control, see 
+ * src/html/html_collection.h for detail. */
+static bool _dom_is_specific_form_control(struct dom_node_internal *node, void 
*ctx)
+{
+       struct dom_html_document *doc =
+               (struct dom_html_document *)(node->owner);
+       struct dom_html_radio_nodelist *nodelist = ctx;
+       dom_string *str;
+       dom_exception exc;
+       
+       if (_dom_is_form_control(node, nodelist->form)) {
+               /* It's the control we care about if id or name are equal
+                * to nodelist->name.  We wouldn't be here if node wasn't
+                * an element node.
+                */
+               exc = _dom_element_get_id((struct dom_element *)node, &str);
+
+               if (exc != DOM_NO_ERR) {
+                       return false;
+               }
+
+               if (str != NULL && dom_string_isequal(str, nodelist->name)) {
+                       dom_string_unref(str);
+                       return true;
+               }
+
+               if (str != NULL)
+                       dom_string_unref(str);
+               
+               exc = _dom_element_get_attribute((struct dom_element *)node,
+                               doc->memoised[hds_name], &str);
+
+               if (str != NULL && dom_string_isequal(str, nodelist->name)) {
+                       dom_string_unref(str);
+                       return true;
+               }
+
+               if (str != NULL)
+                       dom_string_unref(str);
+       }
+       
+       return false;
+}
+
+/**
+ * Create a dom_html_radio_nodelist
+ *
+ * \param form  The HTML form element for the radio nodelist
+ * \param name  The element id/name for the radio nodelist
+ * \param nodelist   The result radio nodelist object
+ * \return DOM_NO_ERR on success, appropriate dom_exception on failure.
+ */
+dom_exception _dom_html_radio_nodelist_create(struct dom_html_form_element 
*form,
+               dom_string *name,
+               struct dom_html_radio_nodelist **nodelist)
+{
+       dom_exception exc;
+       *nodelist = malloc(sizeof(struct dom_html_radio_nodelist));
+       
+       if (*nodelist == NULL)
+               return DOM_NO_MEM_ERR;
+       
+       exc = _dom_html_radio_nodelist_initialise(form, *nodelist, name);
+
+       if (exc != DOM_NO_ERR) {
+               /* This is safe because we only ever get an error before we
+                * ref anything which would need finalising
+                */
+               free(*nodelist);
+               *nodelist = NULL;
+       }
+
+       return exc;
+}
+
+/**
+ * Initialise a dom_html_radio_nodelist
+ *
+ * \param form  The HTML form element for the radio nodelist
+ * \param nodelist The radio nodelist object to initialise
+ * \param name  The element id/name for the radio nodelist
+ * \return DOM_NO_ERR on success, appropriate dom_exception on failure.
+ */
+dom_exception _dom_html_radio_nodelist_initialise(struct dom_html_form_element 
*form,
+               struct dom_html_radio_nodelist *nodelist,
+               dom_string *name)
+{
+       dom_exception exc;
+       dom_html_document *doc = (dom_html_document *) dom_node_get_owner(form);
+       
+       assert(form != NULL);
+       assert(name != NULL);
+
+       assert(doc != NULL);
+       
+       exc =  _dom_html_collection_create(doc,
+                       (dom_node_internal *) doc,
+                       _dom_is_specific_form_control,
+                       nodelist, &nodelist->col);
+       
+       if (exc != DOM_NO_ERR)
+               return exc;
+       
+       nodelist->form = form;
+       dom_node_ref(form);
+       
+       nodelist->name = name;
+       dom_string_ref(name);
+       
+       nodelist->refcnt = 1;
+
+       return DOM_NO_ERR;
+}
+
+/**
+ * Finalise a dom_html_radio_nodelist object
+ *
+ * \param nodelist The dom_html_radio_nodelist object
+ */
+void _dom_html_radio_nodelist_finalise(struct dom_html_radio_nodelist 
*nodelist)
+{
+       assert(nodelist->refcnt == 0);
+       dom_node_unref(nodelist->form);
+       nodelist->form = NULL;
+       dom_string_unref(nodelist->name);
+       nodelist->name = NULL;
+       dom_html_collection_unref(nodelist->col);
+       nodelist->col = NULL;
+}
+
+/**
+ * Destroy a dom_html_radio_nodelist object
+ *
+ * \param nodelist The dom_html_radio_nodelist object
+ */
+void _dom_html_radio_nodelist_destroy(struct dom_html_radio_nodelist *nodelist)
+{
+       _dom_html_radio_nodelist_finalise(nodelist);
+       free(nodelist);
+}
+
+/*-----------------------------------------------------------------------*/
+/* Public API */
+
+/**
+ * Claim a reference on this radio nodelist
+ *
+ * \param nodelist The radio nodelist object
+ */
+void dom_html_radio_nodelist_ref(dom_html_radio_nodelist *nodelist)
+{
+       if (nodelist == NULL)
+               return;
+       
+       nodelist->refcnt ++;
+}
+
+/**
+ * Relese a reference on this radio nodelist
+ *
+ * \param nodelist The radio nodelist object
+ */
+void dom_html_radio_nodelist_unref(dom_html_radio_nodelist *nodelist)
+{
+       if (nodelist == NULL)
+               return;
+       
+       if (nodelist->refcnt > 0)
+               nodelist->refcnt --;
+       
+       if (nodelist->refcnt == 0)
+               _dom_html_radio_nodelist_destroy(nodelist);
+}
diff --git a/src/html/html_radio_nodelist.h b/src/html/html_radio_nodelist.h
new file mode 100644
index 0000000..ffb2b12
--- /dev/null
+++ b/src/html/html_radio_nodelist.h
@@ -0,0 +1,35 @@
+/*
+ * This file is part of libdom.
+ * Licensed under the MIT License,
+ *                http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2018 Daniel Silverstone <[email protected]>
+ */
+
+#ifndef dom_internal_html_radio_nodelist_h_
+#define dom_internal_html_radio_nodelist_h_
+
+#include <dom/html/html_collection.h>
+
+struct dom_html_form_element;
+
+struct dom_html_radio_nodelist {
+       uint32_t refcnt; /**< The reference count of the nodelist */
+       dom_string *name; /**< The name used for the nodelist */
+       struct dom_html_form_element *form; /**< The form on which we 
constructed */
+       dom_html_collection *col; /**< the underlying collection */
+};
+
+dom_exception _dom_html_radio_nodelist_create(struct dom_html_form_element 
*form,
+               dom_string *name,
+               struct dom_html_radio_nodelist **nodelist);
+
+dom_exception _dom_html_radio_nodelist_initialise(struct dom_html_form_element 
*form,
+               struct dom_html_radio_nodelist *nodelist,
+               dom_string *name);
+
+void _dom_html_radio_nodelist_finalise(struct dom_html_radio_nodelist 
*nodelist);
+
+void _dom_html_radio_nodelist_destroy(struct dom_html_radio_nodelist 
*nodelist);
+
+
+#endif


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

Summary of changes:
 include/dom/html/html_radio_nodelist.h   |   18 +--
 src/html/Makefile                        |    1 +
 src/html/html_form_controls_collection.c |    4 +-
 src/html/html_form_controls_collection.h |    3 +
 src/html/html_radio_nodelist.c           |  199 ++++++++++++++++++++++++++++++
 src/html/html_radio_nodelist.h           |   35 ++++++
 6 files changed, 248 insertions(+), 12 deletions(-)
 create mode 100644 src/html/html_radio_nodelist.c
 create mode 100644 src/html/html_radio_nodelist.h

diff --git a/include/dom/html/html_radio_nodelist.h 
b/include/dom/html/html_radio_nodelist.h
index 502df38..fd4c710 100644
--- a/include/dom/html/html_radio_nodelist.h
+++ b/include/dom/html/html_radio_nodelist.h
@@ -5,29 +5,29 @@
  * Copyright 2018 Daniel Silverstone <[email protected]>
  */
 
-#ifndef dom_html_radionodelist_h_
-#define dom_html_radionodelist_h_
+#ifndef dom_html_radio_nodelist_h_
+#define dom_html_radio_nodelist_h_
 
 #include <dom/core/exceptions.h>
 #include <dom/core/string.h>
 
 struct dom_node;
 
-typedef struct dom_html_radionodelist dom_html_radionodelist;
+typedef struct dom_html_radio_nodelist dom_html_radio_nodelist;
 
-dom_exception dom_html_radionodelist_get_length(dom_html_radionodelist *col,
+dom_exception dom_html_radio_nodelist_get_length(dom_html_radio_nodelist *col,
                uint32_t *len);
-dom_exception dom_html_radionodelist_item(dom_html_radionodelist *col,
+dom_exception dom_html_radio_nodelist_item(dom_html_radio_nodelist *col,
                uint32_t index, struct dom_node **node);
 
-dom_exception dom_html_radionodelist_get_value(dom_html_radionodelist *col,
+dom_exception dom_html_radio_nodelist_get_value(dom_html_radio_nodelist *col,
                                               dom_string **value);
 
-dom_exception dom_html_radionodelist_set_value(dom_html_radionodelist *col,
+dom_exception dom_html_radio_nodelist_set_value(dom_html_radio_nodelist *col,
                                               dom_string **value);
 
-void dom_html_radionodelist_ref(dom_html_radionodelist *col);
-void dom_html_radionodelist_unref(dom_html_radionodelist *col);
+void dom_html_radio_nodelist_ref(dom_html_radio_nodelist *col);
+void dom_html_radio_nodelist_unref(dom_html_radio_nodelist *col);
 
 #endif
 
diff --git a/src/html/Makefile b/src/html/Makefile
index cf864bb..55a2d15 100644
--- a/src/html/Makefile
+++ b/src/html/Makefile
@@ -19,6 +19,7 @@ DIR_SOURCES := \
        html_tablecell_element.c html_tablecol_element.c 
html_tablesection_element.c \
        html_table_element.c html_tablerow_element.c html_frameset_element.c \
        html_frame_element.c html_iframe_element.c html_isindex_element.c \
+       html_radio_nodelist.c \
 
 UNINMPLEMENTED_SOURCES := \
 
diff --git a/src/html/html_form_controls_collection.c 
b/src/html/html_form_controls_collection.c
index 34a3bb4..241a44d 100644
--- a/src/html/html_form_controls_collection.c
+++ b/src/html/html_form_controls_collection.c
@@ -23,14 +23,12 @@
 #include "core/element.h"
 #include "core/string.h"
 
-static bool _dom_is_form_control(struct dom_node_internal *node, void *ctx);
-
 /*-----------------------------------------------------------------------*/
 /* Internal functions */
 
 /* Callback function to test whether certain node is a form control, see 
  * src/html/html_collection.h for detail. */
-static bool _dom_is_form_control(struct dom_node_internal *node, void *ctx)
+bool _dom_is_form_control(struct dom_node_internal *node, void *ctx)
 {
        struct dom_html_document *doc =
                (struct dom_html_document *)(node->owner);
diff --git a/src/html/html_form_controls_collection.h 
b/src/html/html_form_controls_collection.h
index 36cdce0..2604c38 100644
--- a/src/html/html_form_controls_collection.h
+++ b/src/html/html_form_controls_collection.h
@@ -14,6 +14,9 @@
 
 struct dom_html_form_element;
 
+/* Exposed so that the radio nodelist can use it as a sub-criterion */
+bool _dom_is_form_control(struct dom_node_internal *node, void *ctx);
+
 dom_exception _dom_html_form_controls_collection_create(struct 
dom_html_form_element *form,
                dom_html_form_controls_collection **col);
 
diff --git a/src/html/html_radio_nodelist.c b/src/html/html_radio_nodelist.c
new file mode 100644
index 0000000..231900e
--- /dev/null
+++ b/src/html/html_radio_nodelist.c
@@ -0,0 +1,199 @@
+/*
+ * This file is part of libdom.
+ * Licensed under the MIT License,
+ *                http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2018 Daniel Silverstone <[email protected]>
+ */
+
+#include <assert.h>
+#include <stdlib.h>
+
+#include <libwapcaplet/libwapcaplet.h>
+
+#include <dom/html/html_radio_nodelist.h>
+
+#include "html/html_radio_nodelist.h"
+#include "html/html_form_controls_collection.h"
+#include "html/html_document.h"
+#include "html/html_form_element.h"
+
+#include "core/node.h"
+#include "core/element.h"
+#include "core/string.h"
+
+/*-----------------------------------------------------------------------*/
+/* Internal functions */
+
+/* Callback function to test whether certain node is a form control, see 
+ * src/html/html_collection.h for detail. */
+static bool _dom_is_specific_form_control(struct dom_node_internal *node, void 
*ctx)
+{
+       struct dom_html_document *doc =
+               (struct dom_html_document *)(node->owner);
+       struct dom_html_radio_nodelist *nodelist = ctx;
+       dom_string *str;
+       dom_exception exc;
+       
+       if (_dom_is_form_control(node, nodelist->form)) {
+               /* It's the control we care about if id or name are equal
+                * to nodelist->name.  We wouldn't be here if node wasn't
+                * an element node.
+                */
+               exc = _dom_element_get_id((struct dom_element *)node, &str);
+
+               if (exc != DOM_NO_ERR) {
+                       return false;
+               }
+
+               if (str != NULL && dom_string_isequal(str, nodelist->name)) {
+                       dom_string_unref(str);
+                       return true;
+               }
+
+               if (str != NULL)
+                       dom_string_unref(str);
+               
+               exc = _dom_element_get_attribute((struct dom_element *)node,
+                               doc->memoised[hds_name], &str);
+
+               if (str != NULL && dom_string_isequal(str, nodelist->name)) {
+                       dom_string_unref(str);
+                       return true;
+               }
+
+               if (str != NULL)
+                       dom_string_unref(str);
+       }
+       
+       return false;
+}
+
+/**
+ * Create a dom_html_radio_nodelist
+ *
+ * \param form  The HTML form element for the radio nodelist
+ * \param name  The element id/name for the radio nodelist
+ * \param nodelist   The result radio nodelist object
+ * \return DOM_NO_ERR on success, appropriate dom_exception on failure.
+ */
+dom_exception _dom_html_radio_nodelist_create(struct dom_html_form_element 
*form,
+               dom_string *name,
+               struct dom_html_radio_nodelist **nodelist)
+{
+       dom_exception exc;
+       *nodelist = malloc(sizeof(struct dom_html_radio_nodelist));
+       
+       if (*nodelist == NULL)
+               return DOM_NO_MEM_ERR;
+       
+       exc = _dom_html_radio_nodelist_initialise(form, *nodelist, name);
+
+       if (exc != DOM_NO_ERR) {
+               /* This is safe because we only ever get an error before we
+                * ref anything which would need finalising
+                */
+               free(*nodelist);
+               *nodelist = NULL;
+       }
+
+       return exc;
+}
+
+/**
+ * Initialise a dom_html_radio_nodelist
+ *
+ * \param form  The HTML form element for the radio nodelist
+ * \param nodelist The radio nodelist object to initialise
+ * \param name  The element id/name for the radio nodelist
+ * \return DOM_NO_ERR on success, appropriate dom_exception on failure.
+ */
+dom_exception _dom_html_radio_nodelist_initialise(struct dom_html_form_element 
*form,
+               struct dom_html_radio_nodelist *nodelist,
+               dom_string *name)
+{
+       dom_exception exc;
+       dom_html_document *doc = (dom_html_document *) dom_node_get_owner(form);
+       
+       assert(form != NULL);
+       assert(name != NULL);
+
+       assert(doc != NULL);
+       
+       exc =  _dom_html_collection_create(doc,
+                       (dom_node_internal *) doc,
+                       _dom_is_specific_form_control,
+                       nodelist, &nodelist->col);
+       
+       if (exc != DOM_NO_ERR)
+               return exc;
+       
+       nodelist->form = form;
+       dom_node_ref(form);
+       
+       nodelist->name = name;
+       dom_string_ref(name);
+       
+       nodelist->refcnt = 1;
+
+       return DOM_NO_ERR;
+}
+
+/**
+ * Finalise a dom_html_radio_nodelist object
+ *
+ * \param nodelist The dom_html_radio_nodelist object
+ */
+void _dom_html_radio_nodelist_finalise(struct dom_html_radio_nodelist 
*nodelist)
+{
+       assert(nodelist->refcnt == 0);
+       dom_node_unref(nodelist->form);
+       nodelist->form = NULL;
+       dom_string_unref(nodelist->name);
+       nodelist->name = NULL;
+       dom_html_collection_unref(nodelist->col);
+       nodelist->col = NULL;
+}
+
+/**
+ * Destroy a dom_html_radio_nodelist object
+ *
+ * \param nodelist The dom_html_radio_nodelist object
+ */
+void _dom_html_radio_nodelist_destroy(struct dom_html_radio_nodelist *nodelist)
+{
+       _dom_html_radio_nodelist_finalise(nodelist);
+       free(nodelist);
+}
+
+/*-----------------------------------------------------------------------*/
+/* Public API */
+
+/**
+ * Claim a reference on this radio nodelist
+ *
+ * \param nodelist The radio nodelist object
+ */
+void dom_html_radio_nodelist_ref(dom_html_radio_nodelist *nodelist)
+{
+       if (nodelist == NULL)
+               return;
+       
+       nodelist->refcnt ++;
+}
+
+/**
+ * Relese a reference on this radio nodelist
+ *
+ * \param nodelist The radio nodelist object
+ */
+void dom_html_radio_nodelist_unref(dom_html_radio_nodelist *nodelist)
+{
+       if (nodelist == NULL)
+               return;
+       
+       if (nodelist->refcnt > 0)
+               nodelist->refcnt --;
+       
+       if (nodelist->refcnt == 0)
+               _dom_html_radio_nodelist_destroy(nodelist);
+}
diff --git a/src/html/html_radio_nodelist.h b/src/html/html_radio_nodelist.h
new file mode 100644
index 0000000..ffb2b12
--- /dev/null
+++ b/src/html/html_radio_nodelist.h
@@ -0,0 +1,35 @@
+/*
+ * This file is part of libdom.
+ * Licensed under the MIT License,
+ *                http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2018 Daniel Silverstone <[email protected]>
+ */
+
+#ifndef dom_internal_html_radio_nodelist_h_
+#define dom_internal_html_radio_nodelist_h_
+
+#include <dom/html/html_collection.h>
+
+struct dom_html_form_element;
+
+struct dom_html_radio_nodelist {
+       uint32_t refcnt; /**< The reference count of the nodelist */
+       dom_string *name; /**< The name used for the nodelist */
+       struct dom_html_form_element *form; /**< The form on which we 
constructed */
+       dom_html_collection *col; /**< the underlying collection */
+};
+
+dom_exception _dom_html_radio_nodelist_create(struct dom_html_form_element 
*form,
+               dom_string *name,
+               struct dom_html_radio_nodelist **nodelist);
+
+dom_exception _dom_html_radio_nodelist_initialise(struct dom_html_form_element 
*form,
+               struct dom_html_radio_nodelist *nodelist,
+               dom_string *name);
+
+void _dom_html_radio_nodelist_finalise(struct dom_html_radio_nodelist 
*nodelist);
+
+void _dom_html_radio_nodelist_destroy(struct dom_html_radio_nodelist 
*nodelist);
+
+
+#endif


-- 
Document Object Model library

_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org

Reply via email to