summaryrefslogtreecommitdiff
path: root/javascript/jsapi/bindings/dom.bnd
diff options
context:
space:
mode:
Diffstat (limited to 'javascript/jsapi/bindings/dom.bnd')
-rw-r--r--javascript/jsapi/bindings/dom.bnd22
1 files changed, 19 insertions, 3 deletions
diff --git a/javascript/jsapi/bindings/dom.bnd b/javascript/jsapi/bindings/dom.bnd
index f323ff2ad..0f54571b9 100644
--- a/javascript/jsapi/bindings/dom.bnd
+++ b/javascript/jsapi/bindings/dom.bnd
@@ -1,14 +1,30 @@
-/* test binding for document - must be included */
+/* DOM bindings entries */
webidlfile "dom.idl";
operation getElementById %{
dom_string *elementId_dom;
dom_element *element;
+ dom_exception exc;
+
+ LOG(("elementId_len %d elementId %s",elementId_len,elementId));
dom_string_create((unsigned char*)elementId, elementId_len, &elementId_dom);
+ LOG(("dom string %p", elementId_dom));
+
+
+ exc = dom_document_get_element_by_id(private->node, elementId_dom, &element);
+ if ((exc == DOM_NO_ERR) && (element != NULL)) {
+ jsret = jsapi_new_HTMLElement(cx, NULL, JS_GetGlobalObject(cx), element, private->htmlc);
+ }
+%}
- dom_document_get_element_by_id(private->node, elementId_dom, &element);
+getter textContent %{
+ dom_exception exc;
+ dom_string *content;
- jsretval = OBJECT_TO_JSVAL(jsapi_new_element(cx, JS_GetGlobalObject(cx), private->htmlc, element));
+ exc = dom_node_get_text_content(private->node, &content);
+ if ((exc == DOM_NO_ERR) && (content != NULL)) {
+ jsret = JS_NewStringCopyN(cx, dom_string_data(content), dom_string_length(content));
+ }
%}