summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/dom/html/html_form_element.h32
-rw-r--r--src/html/html_form_element.c40
-rw-r--r--test/testcases/tests/level1/html/HTMLFormElement04.xml (renamed from test/testcases/tests/level1/html/HTMLFormElement04.xml.kfail)0
-rw-r--r--test/testcases/tests/level1/html/HTMLFormElement05.xml (renamed from test/testcases/tests/level1/html/HTMLFormElement05.xml.kfail)0
-rw-r--r--test/testcases/tests/level1/html/HTMLFormElement06.xml (renamed from test/testcases/tests/level1/html/HTMLFormElement06.xml.kfail)0
-rw-r--r--test/testcases/tests/level1/html/HTMLFormElement07.xml (renamed from test/testcases/tests/level1/html/HTMLFormElement07.xml.kfail)0
-rw-r--r--test/testcases/tests/level1/html/HTMLFormElement08.xml (renamed from test/testcases/tests/level1/html/HTMLFormElement08.xml.kfail)0
7 files changed, 72 insertions, 0 deletions
diff --git a/include/dom/html/html_form_element.h b/include/dom/html/html_form_element.h
index 230846c..c4ee1d8 100644
--- a/include/dom/html/html_form_element.h
+++ b/include/dom/html/html_form_element.h
@@ -9,6 +9,7 @@
#define dom_html_form_element_h_
#include <dom/core/exceptions.h>
+#include <dom/core/string.h>
struct dom_html_collection;
@@ -18,6 +19,37 @@ dom_exception dom_html_form_element_get_elements(dom_html_form_element *ele,
struct dom_html_collection **col);
dom_exception dom_html_form_element_get_length(dom_html_form_element *ele,
unsigned long *len);
+
+dom_exception dom_html_form_element_get_accept_charset(
+ dom_html_form_element *ele, dom_string **accept_charset);
+
+dom_exception dom_html_form_element_set_accept_charset(
+ dom_html_form_element *ele, dom_string *accept_charset);
+
+dom_exception dom_html_form_element_get_action(
+ dom_html_form_element *ele, dom_string **action);
+
+dom_exception dom_html_form_element_set_action(
+ dom_html_form_element *ele, dom_string *action);
+
+dom_exception dom_html_form_element_get_enctype(
+ dom_html_form_element *ele, dom_string **enctype);
+
+dom_exception dom_html_form_element_set_enctype(
+ dom_html_form_element *ele, dom_string *enctype);
+
+dom_exception dom_html_form_element_get_method(
+ dom_html_form_element *ele, dom_string **method);
+
+dom_exception dom_html_form_element_set_method(
+ dom_html_form_element *ele, dom_string *method);
+
+dom_exception dom_html_form_element_get_target(
+ dom_html_form_element *ele, dom_string **target);
+
+dom_exception dom_html_form_element_set_target(
+ dom_html_form_element *ele, dom_string *target);
+
dom_exception dom_html_form_element_submit(dom_html_form_element *ele);
dom_exception dom_html_form_element_reset(dom_html_form_element *ele);
diff --git a/src/html/html_form_element.c b/src/html/html_form_element.c
index 83af37a..0688cd6 100644
--- a/src/html/html_form_element.c
+++ b/src/html/html_form_element.c
@@ -8,6 +8,8 @@
#include <assert.h>
#include <stdlib.h>
+#include <dom/html/html_form_element.h>
+
#include "html/html_form_element.h"
#include "html/html_collection.h"
@@ -182,6 +184,44 @@ dom_exception dom_html_form_element_get_length(dom_html_form_element *ele,
return dom_html_collection_get_length(ele->col, len);
}
+#define SIMPLE_GET_SET(fattr,attr) \
+dom_exception dom_html_form_element_get_##fattr(dom_html_form_element *element, \
+ dom_string **fattr) \
+{ \
+ dom_exception ret; \
+ dom_string *_memo_##attr; \
+ \
+ _memo_##attr = \
+ ((struct dom_html_document *) \
+ ((struct dom_node_internal *)element)->owner)->memoised[hds_##attr]; \
+ \
+ ret = dom_element_get_attribute(element, _memo_##attr, fattr); \
+ \
+ return ret; \
+} \
+ \
+dom_exception dom_html_form_element_set_##fattr(dom_html_form_element *element, \
+ dom_string *fattr) \
+{ \
+ dom_exception ret; \
+ dom_string *_memo_##attr; \
+ \
+ _memo_##attr = \
+ ((struct dom_html_document *) \
+ ((struct dom_node_internal *)element)->owner)->memoised[hds_##attr]; \
+ \
+ ret = dom_element_set_attribute(element, _memo_##attr, fattr); \
+ \
+ return ret; \
+}
+
+SIMPLE_GET_SET(accept_charset,accept_charset)
+SIMPLE_GET_SET(action,action)
+SIMPLE_GET_SET(enctype,enctype)
+SIMPLE_GET_SET(method,method)
+SIMPLE_GET_SET(target,target)
+
+
/**
* Submit this form
*
diff --git a/test/testcases/tests/level1/html/HTMLFormElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLFormElement04.xml
index 4077e36..4077e36 100644
--- a/test/testcases/tests/level1/html/HTMLFormElement04.xml.kfail
+++ b/test/testcases/tests/level1/html/HTMLFormElement04.xml
diff --git a/test/testcases/tests/level1/html/HTMLFormElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLFormElement05.xml
index 54a3436..54a3436 100644
--- a/test/testcases/tests/level1/html/HTMLFormElement05.xml.kfail
+++ b/test/testcases/tests/level1/html/HTMLFormElement05.xml
diff --git a/test/testcases/tests/level1/html/HTMLFormElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLFormElement06.xml
index fb1ca95..fb1ca95 100644
--- a/test/testcases/tests/level1/html/HTMLFormElement06.xml.kfail
+++ b/test/testcases/tests/level1/html/HTMLFormElement06.xml
diff --git a/test/testcases/tests/level1/html/HTMLFormElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLFormElement07.xml
index 897b63d..897b63d 100644
--- a/test/testcases/tests/level1/html/HTMLFormElement07.xml.kfail
+++ b/test/testcases/tests/level1/html/HTMLFormElement07.xml
diff --git a/test/testcases/tests/level1/html/HTMLFormElement08.xml.kfail b/test/testcases/tests/level1/html/HTMLFormElement08.xml
index 1a691cb..1a691cb 100644
--- a/test/testcases/tests/level1/html/HTMLFormElement08.xml.kfail
+++ b/test/testcases/tests/level1/html/HTMLFormElement08.xml