summaryrefslogtreecommitdiff
path: root/javascript/duktape/node.c
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2015-07-19 12:36:39 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2015-07-19 12:36:39 +0100
commit10c5dcd078700ff574512fc692adb6835653ba38 (patch)
tree94828bb4a1a14e3a9c78d2d9a45c25e902330161 /javascript/duktape/node.c
parentd68e2c879c9254cae1ea8e248ebe70ddf5e797e6 (diff)
downloadnetsurf-10c5dcd078700ff574512fc692adb6835653ba38.tar.gz
netsurf-10c5dcd078700ff574512fc692adb6835653ba38.tar.bz2
REWORK: ALL THIS CRUD
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);