diff options
author | Vincent Sanders <vince@kyllikki.org> | 2015-10-07 14:45:57 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2015-10-07 14:45:57 +0100 |
commit | b5f1c5eee20c2bb0f48098151d15f4f36fa9de67 (patch) | |
tree | d9eb7d64eabc3c684655e865f91faaee6f2782b9 | |
parent | 315339cbc801c35b2c53418b6b55705bbdef62ca (diff) | |
download | netsurf-b5f1c5eee20c2bb0f48098151d15f4f36fa9de67.tar.gz netsurf-b5f1c5eee20c2bb0f48098151d15f4f36fa9de67.tar.bz2 |
complete binding for HTML BR element
-rw-r--r-- | Docs/UnimplementedJavascript.txt | 2 | ||||
-rw-r--r-- | javascript/duktape/HTMLBRElement.bnd | 50 | ||||
-rw-r--r-- | javascript/duktape/netsurf.bnd | 2 |
3 files changed, 51 insertions, 3 deletions
diff --git a/Docs/UnimplementedJavascript.txt b/Docs/UnimplementedJavascript.txt index f17f08d1b..6cadfb57e 100644 --- a/Docs/UnimplementedJavascript.txt +++ b/Docs/UnimplementedJavascript.txt @@ -693,8 +693,6 @@ getter HTMLBodyElement::text();\n setter HTMLBodyElement::text();\n getter HTMLBodyElement::vLink();\n setter HTMLBodyElement::vLink();\n -getter HTMLBRElement::clear();\n -setter HTMLBRElement::clear();\n getter HTMLButtonElement::autofocus();\n setter HTMLButtonElement::autofocus();\n method HTMLButtonElement::checkValidity();\n diff --git a/javascript/duktape/HTMLBRElement.bnd b/javascript/duktape/HTMLBRElement.bnd new file mode 100644 index 000000000..25e5184ba --- /dev/null +++ b/javascript/duktape/HTMLBRElement.bnd @@ -0,0 +1,50 @@ +/* HTML br element binding using duktape and libdom + * + * Copyright 2015 Vincent Sanders <vince@netsurf-browser.org> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * Released under the terms of the MIT License, + * http://www.opensource.org/licenses/mit-license + */ + +init HTMLBRElement(struct dom_html_element *html_br_element::html_element); + +getter HTMLBRElement::clear() +%{ + dom_exception exc; + dom_string *str; + + exc = dom_html_br_element_get_clear(((node_private_t*)priv)->node, &str); + if (exc != DOM_NO_ERR) { + return 0; + } + + duk_push_lstring(ctx, dom_string_data(str), dom_string_length(str)); + dom_string_unref(str); + + return 1; + +%} + +setter HTMLBRElement::clear() +%{ + dom_exception exc; + dom_string *content; + duk_size_t slen; + const char *s; + s = duk_safe_to_lstring(ctx, 0, &slen); + + exc = dom_string_create((const uint8_t *)s, slen, &content); + if (exc != DOM_NO_ERR) { + return 0; + } + + exc = dom_html_br_element_set_clear(((node_private_t*)priv)->node, content); + dom_string_unref(content); + if (exc != DOM_NO_ERR) { + return 0; + } + + return 0; +%} diff --git a/javascript/duktape/netsurf.bnd b/javascript/duktape/netsurf.bnd index f9148ee15..255c782ae 100644 --- a/javascript/duktape/netsurf.bnd +++ b/javascript/duktape/netsurf.bnd @@ -61,6 +61,7 @@ struct dom_html_br_element; #include "HTMLCollection.bnd" #include "Location.bnd" #include "Navigator.bnd" +#include "HTMLBRElement.bnd" /* specialisations of html_element */ init HTMLUnknownElement(struct dom_html_element *html_unknown_element::html_element); @@ -110,7 +111,6 @@ init HTMLImageElement(struct dom_html_element *html_image_element::html_element) init HTMLSourceElement(struct dom_html_element *html_source_element::html_element); init HTMLPictureElement(struct dom_html_element *html_picture_element::html_element); init HTMLModElement(struct dom_html_element *html_mod_element::html_element); -init HTMLBRElement(struct dom_html_element *html_br_element::html_element); init HTMLSpanElement(struct dom_html_element *html_span_element::html_element); init HTMLTimeElement(struct dom_html_element *html_time_element::html_element); init HTMLDataElement(struct dom_html_element *html_data_element::html_element); |