diff options
author | Vincent Sanders <vince@kyllikki.org> | 2013-01-23 12:37:56 +0000 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2013-01-23 12:37:56 +0000 |
commit | faddd8b0350e3c55555437d19e0148b30bd018ad (patch) | |
tree | 19848fd8f546d198425df00e7f431806da0b86c6 | |
parent | 9b568abf96defa0194f4fcb6e68d008c6e28423e (diff) | |
download | netsurf-faddd8b0350e3c55555437d19e0148b30bd018ad.tar.gz netsurf-faddd8b0350e3c55555437d19e0148b30bd018ad.tar.bz2 |
implement Element::getAttribute
-rw-r--r-- | javascript/jsapi/htmlelement.bnd | 23 |
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 * |