mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-15 08:42:39 +03:00
161 lines
8.6 KiB
Plaintext
161 lines
8.6 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 "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 "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/dukky.h"
|
|
%};
|
|
|
|
}
|
|
|
|
#include "Window.bnd"
|
|
#include "Document.bnd"
|
|
#include "Node.bnd"
|
|
#include "NodeList.bnd"
|
|
#include "Element.bnd"
|
|
#include "HTMLCollection.bnd"
|
|
|
|
/* specialisations of html_element */
|
|
init HTMLUnknownElement("struct dom_html_element *" html_unknown_element::html_element);
|
|
init HTMLFontElement("struct dom_html_element *" html_font_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 HTMLAppletElement("struct dom_html_element *" html_applet_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 HTMLButtonElement("struct dom_html_element *" html_button_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 HTMLFormElement("struct dom_html_element *" html_form_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 HTMLAreaElement("struct dom_html_element *" html_area_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 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);
|
|
init HTMLAnchorElement("struct dom_html_element *" html_anchor_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 HTMLHRElement("struct dom_html_element *" html_hr_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 HTMLBodyElement("struct dom_html_element *" html_body_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 HTMLBaseElement("struct dom_html_element *" html_base_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);
|
|
init HTMLHtmlElement("struct dom_html_element *" html_html_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);
|
|
|
|
|