Author: jmb
Date: Sun Sep 30 00:44:36 2007
New Revision: 3610
URL:
http://source.netsurf-browser.org?rev=3610&view=rev
Log:
Implement dom_characterdata_get_data()
Implement dom_characterdata_set_data()
Modified:
trunk/dom/src/core/characterdata.c
Modified: trunk/dom/src/core/characterdata.c
URL:
http://source.netsurf-browser.org/trunk/dom/src/core/characterdata.c?rev=...
==============================================================================
--- trunk/dom/src/core/characterdata.c (original)
+++ trunk/dom/src/core/characterdata.c Sun Sep 30 00:44:36 2007
@@ -10,6 +10,7 @@
#include "core/characterdata.h"
#include "core/document.h"
+#include "core/node.h"
#include "utils/utils.h"
/**
@@ -63,10 +64,14 @@
dom_exception dom_characterdata_get_data(struct dom_characterdata *cdata,
struct dom_string **data)
{
- UNUSED(cdata);
- UNUSED(data);
-
- return DOM_NOT_SUPPORTED_ERR;
+ struct dom_node *c = (struct dom_node *) cdata;
+
+ if (c->value != NULL) {
+ dom_string_ref(c->value);
+ }
+ *data = c->value;
+
+ return DOM_NO_ERR;
}
/**
@@ -84,10 +89,20 @@
dom_exception dom_characterdata_set_data(struct dom_characterdata *cdata,
struct dom_string *data)
{
- UNUSED(cdata);
- UNUSED(data);
-
- return DOM_NOT_SUPPORTED_ERR;
+ struct dom_node *c = (struct dom_node *) cdata;
+
+ if (_dom_node_readonly(c)) {
+ return DOM_NO_MODIFICATION_ALLOWED_ERR;
+ }
+
+ if (c->value != NULL) {
+ dom_string_unref(c->value);
+ }
+
+ dom_string_ref(data);
+ c->value = data;
+
+ return DOM_NO_ERR;
}
/**