summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/html/html_frame_element.c7
-rw-r--r--src/html/html_iframe_element.c7
-rw-r--r--src/html/html_style_element.c42
-rw-r--r--src/html/html_style_element.h2
-rw-r--r--src/html/html_tablesection_element.c32
-rw-r--r--test/testcases/tests/level2/html/HTMLFrameElement09.xml.kfail (renamed from test/testcases/tests/level2/html/HTMLFrameElement09.xml)0
-rw-r--r--test/testcases/tests/level2/html/HTMLIFrameElement11.xml.kfail (renamed from test/testcases/tests/level2/html/HTMLIFrameElement11.xml)0
7 files changed, 35 insertions, 55 deletions
diff --git a/src/html/html_frame_element.c b/src/html/html_frame_element.c
index 16534b5..a03b32d 100644
--- a/src/html/html_frame_element.c
+++ b/src/html/html_frame_element.c
@@ -281,7 +281,10 @@ dom_exception dom_html_frame_element_get_content_document(
dom_html_frame_element *ele,
dom_document **content_document)
{
- *content_document = dom_node_get_owner(ele);
- return DOM_NO_ERR;
+ /* We don't support creating documents
+ from within here */
+ UNUSED(ele);
+ UNUSED(content_document);
+ return DOM_NOT_SUPPORTED_ERR;
}
diff --git a/src/html/html_iframe_element.c b/src/html/html_iframe_element.c
index 6f15b3e..0972d56 100644
--- a/src/html/html_iframe_element.c
+++ b/src/html/html_iframe_element.c
@@ -263,7 +263,10 @@ dom_exception dom_html_iframe_element_get_content_document(
dom_html_iframe_element *ele,
dom_document **content_document)
{
- *content_document = dom_node_get_owner(ele);
- return DOM_NO_ERR;
+ /* We don't support creating documents
+ from within here */
+ UNUSED(ele);
+ UNUSED(content_document);
+ return DOM_NOT_SUPPORTED_ERR;
}
diff --git a/src/html/html_style_element.c b/src/html/html_style_element.c
index 681f0b8..c97955e 100644
--- a/src/html/html_style_element.c
+++ b/src/html/html_style_element.c
@@ -55,7 +55,6 @@ dom_exception _dom_html_style_element_initialise(struct dom_html_document *doc,
struct dom_html_style_element *ele)
{
dom_string *name = NULL;
- dom_string *media_default = NULL;
dom_exception err;
err = dom_string_create((const uint8_t *) "STYLE", SLEN("STYLE"),
@@ -63,12 +62,6 @@ dom_exception _dom_html_style_element_initialise(struct dom_html_document *doc,
if (err != DOM_NO_ERR)
return err;
- err = dom_string_create((const uint8_t *) "screen", SLEN("screen"),
- &media_default);
- if (err != DOM_NO_ERR)
- return err;
-
- ele->media = media_default;
err = _dom_html_element_initialise(doc, &ele->base, name, NULL, NULL);
dom_string_unref(name);
@@ -168,7 +161,7 @@ dom_exception dom_html_style_element_set_##attr( \
#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr)
SIMPLE_GET_SET(type);
-SIMPLE_SET(media);
+SIMPLE_GET_SET(media);
/**
* Get the disabled property
@@ -198,36 +191,3 @@ dom_exception dom_html_style_element_set_disabled(dom_html_style_element *ele,
SLEN("disabled"), disabled);
}
-/**
- * Get the media property
- *
- * \param ele The dom_html_style_element object
- * \param media The returned status
- * \return DOM_NO_ERR on success, appropriate dom_exception on failure.
- */
-dom_exception dom_html_style_element_get_media(dom_html_style_element *ele,
- dom_string **media)
-{
- dom_html_document *doc;
- bool has_value = false;
- dom_exception err;
-
- doc = (dom_html_document *) ((dom_node_internal *) ele)->owner;
-
- err = dom_element_has_attribute(ele,
- doc->memoised[hds_media], &has_value);
- if(err !=DOM_NO_ERR)
- return err;
-
- if(has_value) {
- return dom_element_get_attribute(ele,
- doc->memoised[hds_media], media);
- }
-
- *media = ele->media;
- if (*media != NULL)
- dom_string_ref(*media);
- return DOM_NO_ERR;
-
-}
-
diff --git a/src/html/html_style_element.h b/src/html/html_style_element.h
index 285da94..e7a47e5 100644
--- a/src/html/html_style_element.h
+++ b/src/html/html_style_element.h
@@ -15,8 +15,6 @@
struct dom_html_style_element {
struct dom_html_element base;
/**< The base class */
- dom_string *media;
- /**< The default string value for the media attribute*/
};
/* Create a dom_html_style_element object */
diff --git a/src/html/html_tablesection_element.c b/src/html/html_tablesection_element.c
index af4ccb6..dbc0902 100644
--- a/src/html/html_tablesection_element.c
+++ b/src/html/html_tablesection_element.c
@@ -217,26 +217,42 @@ dom_exception dom_html_table_section_element_insert_row(
return exp;
exp = dom_html_table_section_element_get_rows(element, &rows);
- if(exp != DOM_NO_ERR)
+ if(exp != DOM_NO_ERR) {
+ dom_node_unref(new_row);
+ new_row = NULL;
return exp;
+ }
exp = dom_html_collection_get_length(rows, &len);
- if(exp != DOM_NO_ERR)
+
+
+ if(exp != DOM_NO_ERR) {
+ dom_node_unref(new_row);
+ new_row = NULL;
+ dom_html_collection_unref(rows);
return exp;
+ }
if(index < -1 || index > (int32_t)len) {
/* Check for index validity */
+ dom_html_collection_unref(rows);
return DOM_INDEX_SIZE_ERR;
} else if(index == -1 || index == (int32_t)len) {
- return _dom_node_append_child((dom_node_internal *)element,
- (dom_node_internal *)*new_row,
- (dom_node_internal **)new_row);
+ dom_node *new_node;
+ dom_html_collection_unref(rows);
+ return dom_node_append_child(element,
+ *new_row,
+ &new_node);
} else {
+ dom_node *new_node;
+
dom_html_collection_item(rows,
index, &node);
- return _dom_node_insert_before((dom_node_internal *)element,
- (dom_node_internal *)*new_row, (dom_node_internal *)node,
- (dom_node_internal **)new_row);
+ dom_html_collection_unref(rows);
+
+ return dom_node_insert_before(element,
+ *new_row, node,
+ &new_node);
}
}
diff --git a/test/testcases/tests/level2/html/HTMLFrameElement09.xml b/test/testcases/tests/level2/html/HTMLFrameElement09.xml.kfail
index 9ae0e16..9ae0e16 100644
--- a/test/testcases/tests/level2/html/HTMLFrameElement09.xml
+++ b/test/testcases/tests/level2/html/HTMLFrameElement09.xml.kfail
diff --git a/test/testcases/tests/level2/html/HTMLIFrameElement11.xml b/test/testcases/tests/level2/html/HTMLIFrameElement11.xml.kfail
index 4220a43..4220a43 100644
--- a/test/testcases/tests/level2/html/HTMLIFrameElement11.xml
+++ b/test/testcases/tests/level2/html/HTMLIFrameElement11.xml.kfail