/* Binding for browser using duktape and libdom * * Copyright 2015 Vincent Sanders * * 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 "html.idl"; webidl "uievents.idl"; webidl "urlutils.idl"; webidl "console.idl"; preface %{ /* DukTape JavaScript bindings for NetSurf browser * * Copyright 2015 Vincent Sanders * 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 #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" #include "HTMLAnchorElement.bnd" #include "HTMLAppletElement.bnd" #include "HTMLAreaElement.bnd" #include "HTMLBaseElement.bnd" #include "HTMLBodyElement.bnd" #include "HTMLButtonElement.bnd" #include "HTMLBRElement.bnd" #include "HTMLElement.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" /* specialisations of html_element */ init HTMLUnknownElement(struct dom_html_element *html_unknown_element::html_element); init HTMLDirectoryElement(struct dom_html_element *html_directory_element::html_element); init HTMLMarqueeElement(struct dom_html_element *html_marquee_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 HTMLScriptElement(struct dom_html_element *html_script_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 HTMLMenuElement(struct dom_html_element *html_menu_element::html_element); init HTMLDetailsElement(struct dom_html_element *html_details_element::html_element); init HTMLLegendElement(struct dom_html_element *html_legend_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 HTMLTextAreaElement(struct dom_html_element *html_text_area_element::html_element); init HTMLOptionElement(struct dom_html_element *html_option_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 HTMLSelectElement(struct dom_html_element *html_select_element::html_element); init HTMLInputElement(struct dom_html_element *html_input_element::html_element); init HTMLLabelElement(struct dom_html_element *html_label_element::html_element); init HTMLTableCellElement(struct dom_html_element *html_table_cell_element::html_element); init HTMLTableRowElement(struct dom_html_element *html_table_row_element::html_element); init HTMLTableSectionElement(struct dom_html_element *html_table_section_element::html_element); init HTMLTableColElement(struct dom_html_element *html_table_col_element::html_element); init HTMLTableCaptionElement(struct dom_html_element *html_table_caption_element::html_element); init HTMLTableElement(struct dom_html_element *html_table_element::html_element); init HTMLMapElement(struct dom_html_element *html_map_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 HTMLParamElement(struct dom_html_element *html_param_element::html_element); init HTMLObjectElement(struct dom_html_element *html_object_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 HTMLDivElement(struct dom_html_element *html_div_element::html_element); init HTMLDListElement(struct dom_html_element *html_d_list_element::html_element); init HTMLLIElement(struct dom_html_element *html_li_element::html_element); init HTMLUListElement(struct dom_html_element *html_u_list_element::html_element); init HTMLOListElement(struct dom_html_element *html_o_list_element::html_element); init HTMLQuoteElement(struct dom_html_element *html_quote_element::html_element); init HTMLPreElement(struct dom_html_element *html_pre_element::html_element); init HTMLParagraphElement(struct dom_html_element *html_paragraph_element::html_element); init HTMLStyleElement(struct dom_html_element *html_style_element::html_element); init HTMLMetaElement(struct dom_html_element *html_meta_element::html_element); init HTMLLinkElement(struct dom_html_element *html_link_element::html_element); init HTMLTitleElement(struct dom_html_element *html_title_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);