diff options
author | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2010-12-05 17:19:08 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2010-12-05 17:19:08 +0000 |
commit | 69ca35f30f583c821d3f0b216d2081800d9d37d5 (patch) | |
tree | 967e9417152caef3e733be25db663aadfacc93c0 /include/dom/html | |
parent | 656eaee87211dc06798f80e93ee3f50432483605 (diff) | |
download | libdom-69ca35f30f583c821d3f0b216d2081800d9d37d5.tar.gz libdom-69ca35f30f583c821d3f0b216d2081800d9d37d5.tar.bz2 |
Beginnings of some of HTMLElement
svn path=/trunk/dom/; revision=11009
Diffstat (limited to 'include/dom/html')
-rw-r--r-- | include/dom/html/html_element.h | 39 |
1 files changed, 28 insertions, 11 deletions
diff --git a/include/dom/html/html_element.h b/include/dom/html/html_element.h index 8c41664..ed7aa69 100644 --- a/include/dom/html/html_element.h +++ b/include/dom/html/html_element.h @@ -8,19 +8,36 @@ #ifndef dom_html_element_h_ #define dom_html_element_h_ +#include <dom/core/element.h> + typedef struct dom_html_element dom_html_element; -/** - * Note: DOM HTML spec is used to provide a more convenient way to - * access Element's attribute through property. But, for implementation like - * C, such propery provide no more convenience than Element.get(set)Attribute - * function, so we ignore all the propety whose type is DOMString in this - * implementation, clients can always access these property through - * get(set)Attribute methods. - * - * For the readonly property, an readonly Attr node should be created, so once - * these Attr nodes are created, they can not be changed any more. - */ +typedef struct dom_html_element_vtable { + struct dom_element_vtable base; + + dom_exception (*dom_html_element_get_id)(struct dom_html_element *element, + struct dom_string **id); + dom_exception (*dom_html_element_set_id)(struct dom_html_element *element, + struct dom_string *id); +}; + +static inline dom_exception dom_html_element_get_id(struct dom_html_element *element, + struct dom_string **id) +{ + return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)-> + dom_html_element_get_id(element, id); +} +#define dom_html_element_get_id(e, id) dom_html_element_get_id( \ + (dom_html_element *) (e), (struct dom_string **) (id)) + +static inline dom_exception dom_html_element_set_id(struct dom_html_element *element, + struct dom_string *id) +{ + return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)-> + dom_html_element_set_id(element, id); +} +#define dom_html_element_set_id(e, id) dom_html_element_set_id( \ + (dom_html_element *) (e), (struct dom_string *) (id)) #endif |