summaryrefslogtreecommitdiff
path: root/javascript
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2012-10-23 18:39:34 +0100
committerVincent Sanders <vince@netsurf-browser.org>2012-10-25 11:17:33 +0100
commit6a300528fd1c8b483fbd770a4727aac779e204a0 (patch)
tree09579f3a9d026cee9cea1ca050abef3944583d7a /javascript
parentad10d632096527fe05f24d5e16e003662bb818c6 (diff)
downloadnetsurf-6a300528fd1c8b483fbd770a4727aac779e204a0.tar.gz
netsurf-6a300528fd1c8b483fbd770a4727aac779e204a0.tar.bz2
add initial binding files for nsgenbind
Diffstat (limited to 'javascript')
-rw-r--r--javascript/jsapi/WebIDL/html.idl31
-rw-r--r--javascript/jsapi/bindings/dom.bnd14
-rw-r--r--javascript/jsapi/bindings/htmldocument.bnd39
3 files changed, 53 insertions, 31 deletions
diff --git a/javascript/jsapi/WebIDL/html.idl b/javascript/jsapi/WebIDL/html.idl
index 692c93ffc..94e7c75db 100644
--- a/javascript/jsapi/WebIDL/html.idl
+++ b/javascript/jsapi/WebIDL/html.idl
@@ -2,20 +2,6 @@
// retrived from http://www.whatwg.org/specs/web-apps/current-work/
// 23rd October 2012
-//interface Example {
- // this is an IDL definition
-//};
-
-// this block was from the URL parsing mandantory attribute section
-// but fails to define a real interface
-
-// attribute DOMString protocol;
-// attribute DOMString host;
-// attribute DOMString hostname;
-// attribute DOMString port;
-// attribute DOMString pathname;
-// attribute DOMString search;
-// attribute DOMString hash;
interface HTMLAllCollection : HTMLCollection {
// inherits length and item()
@@ -1316,23 +1302,6 @@ interface HTMLMeterElement : HTMLElement {
readonly attribute NodeList labels;
};
- void select();
- attribute unsigned long selectionStart;
- attribute unsigned long selectionEnd;
- attribute DOMString selectionDirection;
-
- void setRangeText(DOMString replacement);
- void setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode);
-
- void setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction = "preserve");
-
-enum SelectionMode {
- "select",
- "start",
- "end",
- "preserve",
-};
-
interface ValidityState {
readonly attribute boolean valueMissing;
readonly attribute boolean typeMismatch;
diff --git a/javascript/jsapi/bindings/dom.bnd b/javascript/jsapi/bindings/dom.bnd
new file mode 100644
index 000000000..f323ff2ad
--- /dev/null
+++ b/javascript/jsapi/bindings/dom.bnd
@@ -0,0 +1,14 @@
+/* test binding for document - must be included */
+
+webidlfile "dom.idl";
+
+operation getElementById %{
+ dom_string *elementId_dom;
+ dom_element *element;
+
+ dom_string_create((unsigned char*)elementId, elementId_len, &elementId_dom);
+
+ dom_document_get_element_by_id(private->node, elementId_dom, &element);
+
+ jsretval = OBJECT_TO_JSVAL(jsapi_new_element(cx, JS_GetGlobalObject(cx), private->htmlc, element));
+%}
diff --git a/javascript/jsapi/bindings/htmldocument.bnd b/javascript/jsapi/bindings/htmldocument.bnd
new file mode 100644
index 000000000..e7955d949
--- /dev/null
+++ b/javascript/jsapi/bindings/htmldocument.bnd
@@ -0,0 +1,39 @@
+/* test binding to generate htmldocument */
+
+#include "dom.bnd"
+
+webidlfile "html.idl";
+
+hdrcomment "Part of NetSurf Project";
+
+preamble %{
+
+#include <dom/dom.h>
+
+#include "utils/config.h"
+#include "utils/log.h"
+
+#include "javascript/jsapi.h"
+
+%}
+
+operation write %{
+ LOG(("content %p parser %p writing %s",
+ private->htmlc, private->htmlc->parser, text));
+
+ if (private->htmlc->parser != NULL) {
+ dom_hubbub_parser_insert_chunk(private->htmlc->parser, (uint8_t *)text, text_len);
+ }
+%}
+
+binding document {
+ type js_libdom; /* the binding type */
+
+ /* parameters to constructor value stored in private
+ * context structure.
+ */
+ private "dom_document *" node;
+ private "struct html_content *" htmlc;
+
+ interface Document; /* Web IDL interface to generate */
+}