summaryrefslogtreecommitdiff
path: root/javascript/jsapi/htmlelement.bnd
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2013-01-23 12:37:56 +0000
committerVincent Sanders <vince@kyllikki.org>2013-01-23 12:37:56 +0000
commitfaddd8b0350e3c55555437d19e0148b30bd018ad (patch)
tree19848fd8f546d198425df00e7f431806da0b86c6 /javascript/jsapi/htmlelement.bnd
parent9b568abf96defa0194f4fcb6e68d008c6e28423e (diff)
downloadnetsurf-faddd8b0350e3c55555437d19e0148b30bd018ad.tar.gz
netsurf-faddd8b0350e3c55555437d19e0148b30bd018ad.tar.bz2
implement Element::getAttribute
Diffstat (limited to 'javascript/jsapi/htmlelement.bnd')
-rw-r--r--javascript/jsapi/htmlelement.bnd23
1 files changed, 23 insertions, 0 deletions
diff --git a/javascript/jsapi/htmlelement.bnd b/javascript/jsapi/htmlelement.bnd
index 5e22f7e7d..62c08c0a9 100644
--- a/javascript/jsapi/htmlelement.bnd
+++ b/javascript/jsapi/htmlelement.bnd
@@ -126,6 +126,29 @@ api finalise %{
/* interface Element in dom idl */
+/* DOMString? Element::getAttribute(DOMString name); */
+operation getAttribute %{
+ dom_string *value;
+ dom_string *name_dom;
+ dom_exception exc;
+
+ exc = dom_string_create((unsigned char*)name, name_len, &name_dom);
+ if (exc != DOM_NO_ERR) {
+ return JS_FALSE;
+ }
+
+ exc = dom_element_get_attribute(private->node, name_dom, &value);
+ dom_string_unref(name_dom);
+ if (exc != DOM_NO_ERR) {
+ return JS_FALSE;
+ }
+
+ if (value != NULL) {
+ jsret = JS_NewStringCopyN(cx, dom_string_data(value), dom_string_length(value));
+ dom_string_unref(value);
+ }
+%}
+
/*
* DOM 3 has these as the element traversal extension
*