netsurf/javascript/duktape/netsurf.bnd
Vincent Sanders ce32141057 Split up javascript engine makefiles
by splitting javascript engine specific makefiles and source up we
avoid having to consider old JSAPI or none code while working on
duktape.
2015-10-12 17:40:35 +01:00

167 lines
7.9 KiB
Plaintext

/* 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 "html.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"
#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 "HTMLHRElement.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 HTMLFrameElement(struct dom_html_element *html_frame_element::html_element);
init HTMLFrameSetElement(struct dom_html_element *html_frame_set_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 HTMLIFrameElement(struct dom_html_element *html_i_frame_element::html_element);
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 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 HTMLHeadingElement(struct dom_html_element *html_heading_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 HTMLElement(struct dom_html_element *html_element::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);