summaryrefslogtreecommitdiff
path: root/javascript/duktape/node.c
diff options
context:
space:
mode:
Diffstat (limited to 'javascript/duktape/node.c')
-rw-r--r--javascript/duktape/node.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/javascript/duktape/node.c b/javascript/duktape/node.c
index 5a0bc0e1a..d632a2414 100644
--- a/javascript/duktape/node.c
+++ b/javascript/duktape/node.c
@@ -38,10 +38,28 @@ static DUKKY_FUNC(node, __destructor)
return 0;
}
+static DUKKY_FUNC(node, appendChild)
+{
+ DUKKY_GET_METHOD_PRIVATE(node);
+
+ if (!dukky_instanceof(ctx, PROTO_NAME(node))) return 0;
+
+ DUKKY_SAFE_GET_ANOTHER(other,node,0);
+
+ dom_exception err;
+ dom_node *spare;
+
+ err = dom_node_append_child(priv->node, other->node, &spare);
+ if (err != DOM_NO_ERR) return 0;
+ dom_node_unref(spare);
+
+ return 0;
+}
+
DUKKY_FUNC(node, __proto)
{
/* Populate node's prototypical functionality */
-
+ DUKKY_ADD_METHOD(node, appendChild, 1);
/* Set this prototype's prototype (left-parent)*/
DUKKY_GET_PROTOTYPE(event_target);
duk_set_prototype(ctx, 0);