summaryrefslogtreecommitdiff
path: root/content/handlers/javascript/duktape/netsurf.bnd
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2016-06-07 16:01:04 +0100
committerVincent Sanders <vince@kyllikki.org>2016-06-07 16:01:04 +0100
commit042fcb82b83d19bf08afd3367235ac71a60b3850 (patch)
tree47fe3c15f160b3fac7b0e8ab4f47b495901e0557 /content/handlers/javascript/duktape/netsurf.bnd
parent9754539e2275e33af34b5de9d343b85e8122d871 (diff)
downloadnetsurf-042fcb82b83d19bf08afd3367235ac71a60b3850.tar.gz
netsurf-042fcb82b83d19bf08afd3367235ac71a60b3850.tar.bz2
Move javascript content handler as appropriate for updated source format
Diffstat (limited to 'content/handlers/javascript/duktape/netsurf.bnd')
-rw-r--r--content/handlers/javascript/duktape/netsurf.bnd200
1 files changed, 200 insertions, 0 deletions
diff --git a/content/handlers/javascript/duktape/netsurf.bnd b/content/handlers/javascript/duktape/netsurf.bnd
new file mode 100644
index 000000000..4aca4752f
--- /dev/null
+++ b/content/handlers/javascript/duktape/netsurf.bnd
@@ -0,0 +1,200 @@
+/* Binding for browser 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
+ */
+
+binding duk_libdom {
+ webidl "dom.idl";
+ webidl "dom-parsing.idl";
+ webidl "html.idl";
+ webidl "cssom.idl";
+ webidl "uievents.idl";
+ webidl "urlutils.idl";
+ webidl "console.idl";
+
+ preface %{
+/* DukTape JavaScript bindings for NetSurf browser
+ *
+ * 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
+ */
+
+#include <dom/dom.h>
+
+#include "utils/log.h"
+#include "utils/nsurl.h"
+
+#include "javascript/duktape/duktape.h"
+
+struct browser_window;
+struct html_content;
+struct dom_node;
+struct dom_element;
+struct dom_document;
+struct dom_html_element;
+struct dom_node_character_data;
+struct dom_node_text;
+struct dom_node_list;
+struct dom_node_comment;
+struct dom_html_collection;
+struct dom_html_br_element;
+
+%};
+
+ prologue %{
+#include "javascript/duktape/dukky.h"
+%};
+
+};
+
+#include "Console.bnd"
+#include "Window.bnd"
+#include "Document.bnd"
+#include "Node.bnd"
+#include "NodeList.bnd"
+#include "Element.bnd"
+#include "HTMLCollection.bnd"
+#include "Location.bnd"
+#include "Navigator.bnd"
+
+/* events */
+
+#include "Event.bnd"
+
+init MutationEvent(struct dom_mutation_event *evt::evt);
+init UIEvent(struct dom_ui_event *evt::evt);
+init TextEvent(struct dom_text_event *evt::evt);
+init MutationNameEvent(struct dom_mutation_name_event *evt::evt);
+init MouseWheelEvent(struct dom_mouse_wheel_event *evt::evt);
+init MouseMultiWheelEvent(struct dom_mouse_multi_wheel_event *evt::evt);
+init MouseEvent(struct dom_mouse_event *evt::evt);
+init KeyboardEvent(struct dom_keyboard_event *evt::evt);
+init DocumentEvent(struct dom_document_event *evt::evt);
+init CustomEvent(struct dom_custom_event *evt::evt);
+init CompositionEvent(struct dom_ui_event *evt::evt);
+init WheelEvent(struct dom_mouse_event *evt::evt);
+init FocusEvent(struct dom_ui_event *evt::evt);
+init StorageEvent(struct dom_event *evt::evt);
+init CloseEvent(struct dom_event *evt::evt);
+init MessageEvent(struct dom_event *evt::evt);
+init ErrorEvent(struct dom_event *evt::evt);
+init BeforeUnloadEvent(struct dom_event *evt::evt);
+init PageTransitionEvent(struct dom_event *evt::evt);
+init HashChangeEvent(struct dom_event *evt::evt);
+init PopStateEvent(struct dom_event *evt::evt);
+init DragEvent(struct dom_mouse_event *evt::evt);
+init RelatedEvent(struct dom_event *evt::evt);
+init AutocompleteErrorEvent(struct dom_event *evt::evt);
+init TrackEvent(struct dom_event *evt::evt);
+
+
+/* html elements */
+#include "HTMLElement.bnd"
+
+/* specialisations of html_element */
+#include "HTMLAnchorElement.bnd"
+#include "HTMLAppletElement.bnd"
+#include "HTMLAreaElement.bnd"
+#include "HTMLBaseElement.bnd"
+#include "HTMLBodyElement.bnd"
+#include "HTMLButtonElement.bnd"
+#include "HTMLBRElement.bnd"
+#include "HTMLDivElement.bnd"
+#include "HTMLFontElement.bnd"
+#include "HTMLFormElement.bnd"
+#include "HTMLFrameElement.bnd"
+#include "HTMLFrameSetElement.bnd"
+#include "HTMLHeadingElement.bnd"
+#include "HTMLHRElement.bnd"
+#include "HTMLHTMLElement.bnd"
+#include "HTMLIFrameElement.bnd"
+#include "HTMLImageElement.bnd"
+#include "HTMLInputElement.bnd"
+#include "HTMLLabelElement.bnd"
+#include "HTMLLegendElement.bnd"
+#include "HTMLLIElement.bnd"
+#include "HTMLLinkElement.bnd"
+#include "HTMLMapElement.bnd"
+#include "HTMLMarqueeElement.bnd"
+#include "HTMLMenuElement.bnd"
+#include "HTMLMetaElement.bnd"
+#include "HTMLObjectElement.bnd"
+#include "HTMLOptionElement.bnd"
+#include "HTMLOListElement.bnd"
+#include "HTMLParagraphElement.bnd"
+#include "HTMLParamElement.bnd"
+#include "HTMLPreElement.bnd"
+#include "HTMLQuoteElement.bnd"
+#include "HTMLScriptElement.bnd"
+#include "HTMLSelectElement.bnd"
+#include "HTMLStyleElement.bnd"
+#include "HTMLTableCaptionElement.bnd"
+#include "HTMLTableCellElement.bnd"
+#include "HTMLTableColElement.bnd"
+#include "HTMLTableElement.bnd"
+#include "HTMLTableRowElement.bnd"
+#include "HTMLTableSectionElement.bnd"
+#include "HTMLTextAreaElement.bnd"
+#include "HTMLTitleElement.bnd"
+
+init HTMLUnknownElement(struct dom_html_element *html_unknown_element::html_element);
+init HTMLDirectoryElement(struct dom_html_element *html_directory_element::html_element);
+init HTMLCanvasElement(struct dom_html_element *html_canvas_element::html_element);
+init HTMLTemplateElement(struct dom_html_element *html_template_element::html_element);
+init HTMLDialogElement(struct dom_html_element *html_dialog_element::html_element);
+init HTMLMenuItemElement(struct dom_html_element *html_menu_item_element::html_element);
+init HTMLDetailsElement(struct dom_html_element *html_details_element::html_element);
+init HTMLFieldSetElement(struct dom_html_element *html_field_set_element::html_element);
+init HTMLMeterElement(struct dom_html_element *html_meter_element::html_element);
+init HTMLProgressElement(struct dom_html_element *html_progress_element::html_element);
+init HTMLOutputElement(struct dom_html_element *html_output_element::html_element);
+init HTMLKeygenElement(struct dom_html_element *html_keygen_element::html_element);
+init HTMLOptGroupElement(struct dom_html_element *html_opt_group_element::html_element);
+init HTMLDataListElement(struct dom_html_element *html_data_list_element::html_element);
+init HTMLMediaElement(struct dom_html_element *html_media_element::html_element);
+init HTMLTrackElement(struct dom_html_element *html_track_element::html_element);
+init HTMLEmbedElement(struct dom_html_element *html_embed_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 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);
+init HTMLDListElement(struct dom_html_element *html_d_list_element::html_element);
+init HTMLUListElement(struct dom_html_element *html_u_list_element::html_element);
+init HTMLHeadElement(struct dom_html_element *html_head_element::html_element);
+
+/* specialisations of HTMLTableCellElement */
+init HTMLTableHeaderCellElement(struct dom_html_element *html_table_header_cell_element::html_table_cell_element);
+init HTMLTableDataCellElement(struct dom_html_element *html_table_data_cell_element::html_table_cell_element);
+
+/* specialisations of html_media_element */
+init HTMLAudioElement(struct dom_html_element *html_audio_element::html_media_element);
+init HTMLVideoElement(struct dom_html_element *html_video_element::html_media_element);
+
+init Text(struct dom_node_text *text::character_data);
+init Comment(struct dom_node_comment *comment::character_data);
+init ProcessingInstruction(struct dom_node_text *text::character_data);
+
+init XMLDocument(struct dom_document *document);
+
+init CharacterData(struct dom_node_character_data *character_data::node);
+init DocumentFragment(struct dom_document *document::node);
+init DocumentType(struct dom_document *document::node);
+
+init PropertyNodeList(struct dom_nodelist *nodes);
+init RadioNodeList(struct dom_nodelist *nodes);
+
+init HTMLAllCollection(struct dom_html_collection *coll);
+init HTMLFormControlsCollection(struct dom_html_collection *coll);
+init HTMLOptionsCollection(struct dom_html_collection *coll);
+init HTMLPropertiesCollection(struct dom_html_collection *coll);
+
+