From 7ab835df8f45fcea7f12eafe422021b8232b5dd8 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 23 Jan 2013 17:00:13 +0000 Subject: implement Element::className --- javascript/jsapi/htmlelement.bnd | 16 ++++++++++++++++ utils/corestrings.c | 3 +++ utils/corestrings.h | 1 + 3 files changed, 20 insertions(+) diff --git a/javascript/jsapi/htmlelement.bnd b/javascript/jsapi/htmlelement.bnd index 3a6b01760..9af6f2bb5 100644 --- a/javascript/jsapi/htmlelement.bnd +++ b/javascript/jsapi/htmlelement.bnd @@ -163,6 +163,22 @@ getter id %{ } %} +/* attribute DOMString Element::className; */ +getter className %{ + dom_string *value; + dom_exception exc; + + exc = dom_element_get_attribute(private->node, corestring_dom_class, &value); + 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); + } +%} + /* DOMString? Element::getAttribute(DOMString name); */ operation getAttribute %{ dom_string *value; diff --git a/utils/corestrings.c b/utils/corestrings.c index 65666df66..f39a59c21 100644 --- a/utils/corestrings.c +++ b/utils/corestrings.c @@ -134,6 +134,7 @@ dom_string *corestring_dom_cellpadding; dom_string *corestring_dom_cellspacing; dom_string *corestring_dom_change; dom_string *corestring_dom_charset; +dom_string *corestring_dom_class; dom_string *corestring_dom_click; dom_string *corestring_dom_close; dom_string *corestring_dom_color; @@ -357,6 +358,7 @@ void corestrings_fini(void) CSS_DOM_STRING_UNREF(cellspacing); CSS_DOM_STRING_UNREF(change); CSS_DOM_STRING_UNREF(charset); + CSS_DOM_STRING_UNREF(class); CSS_DOM_STRING_UNREF(click); CSS_DOM_STRING_UNREF(close); CSS_DOM_STRING_UNREF(color); @@ -611,6 +613,7 @@ nserror corestrings_init(void) CSS_DOM_STRING_INTERN(cellspacing); CSS_DOM_STRING_INTERN(change); CSS_DOM_STRING_INTERN(charset); + CSS_DOM_STRING_INTERN(class); CSS_DOM_STRING_INTERN(click); CSS_DOM_STRING_INTERN(close); CSS_DOM_STRING_INTERN(color); diff --git a/utils/corestrings.h b/utils/corestrings.h index 08d254501..e28b713eb 100644 --- a/utils/corestrings.h +++ b/utils/corestrings.h @@ -140,6 +140,7 @@ extern struct dom_string *corestring_dom_cellpadding; extern struct dom_string *corestring_dom_cellspacing; extern struct dom_string *corestring_dom_change; extern struct dom_string *corestring_dom_charset; +extern struct dom_string *corestring_dom_class; extern struct dom_string *corestring_dom_click; extern struct dom_string *corestring_dom_close; extern struct dom_string *corestring_dom_color; -- cgit v1.2.3