aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/bindings/codegen
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/script/dom/bindings/codegen')
-rw-r--r--src/components/script/dom/bindings/codegen/Bindings.conf8
-rw-r--r--src/components/script/dom/bindings/codegen/CodegenRust.py83
-rw-r--r--src/components/script/dom/bindings/codegen/GlobalGen.py6
3 files changed, 32 insertions, 65 deletions
diff --git a/src/components/script/dom/bindings/codegen/Bindings.conf b/src/components/script/dom/bindings/codegen/Bindings.conf
index 2ee86c3cca1..a06d1f2d989 100644
--- a/src/components/script/dom/bindings/codegen/Bindings.conf
+++ b/src/components/script/dom/bindings/codegen/Bindings.conf
@@ -230,6 +230,12 @@ DOMInterfaces = {
'pointerType': '',
},
+'HTMLFormElement': {
+ 'nativeType': 'AbstractNode<ScriptView>',
+ 'pointerType': '',
+ 'register': False
+},
+
'HTMLOptionsCollection': [
{
'nativeType': 'nsHTMLOptionCollection',
@@ -565,7 +571,7 @@ addHTMLElement('HTMLElement')
addHTMLElement('HTMLEmbedElement')
addHTMLElement('HTMLFieldSetElement')
addHTMLElement('HTMLFontElement')
-addHTMLElement('HTMLFormElement')
+#addHTMLElement('HTMLFormElement')
addHTMLElement('HTMLFrameElement')
addHTMLElement('HTMLFrameSetElement')
addHTMLElement('HTMLHeadElement')
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py
index c9dc5d28aee..e524f927e47 100644
--- a/src/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/src/components/script/dom/bindings/codegen/CodegenRust.py
@@ -4612,75 +4612,15 @@ class CGBindingRoot(CGThing):
'js::jsapi::*',
'js::jsfriendapi::bindgen::*',
'js::glue::*',
- 'dom::characterdata::CharacterData', #XXXjdm
- 'dom::node::{AbstractNode, Node, Text}', #XXXjdm
- 'dom::document::{Document, AbstractDocument}', #XXXjdm
- 'dom::element::{Element, HTMLHeadElement, HTMLHtmlElement}', #XXXjdm
- 'dom::element::{HTMLDivElement, HTMLSpanElement, HTMLParagraphElement}', #XXXjdm
- 'dom::htmlanchorelement::HTMLAnchorElement', #XXXjdm
- 'dom::htmlappletelement::HTMLAppletElement', #XXXjune0cho
- 'dom::htmlareaelement::HTMLAreaElement', #XXXjune0cho
- 'dom::htmlbaseelement::HTMLBaseElement', #XXXjune0cho
- 'dom::htmlbodyelement::HTMLBodyElement', #XXXjune0cho
- 'dom::htmlbrelement::HTMLBRElement', #XXXrecrack
- 'dom::htmlbuttonelement::HTMLButtonElement', #XXXjdm
- 'dom::htmlcanvaselement::HTMLCanvasElement',
- 'dom::htmldataelement::HTMLDataElement', #XXXjune0cho
- 'dom::htmldatalistelement::HTMLDataListElement',
- 'dom::htmldlistelement::HTMLDListElement',
- 'dom::htmldirectoryelement::HTMLDirectoryElement',
- 'dom::htmlelement::HTMLElement', #XXXjdm
- 'dom::htmlembedelement::HTMLEmbedElement', #XXXjdm
- 'dom::htmlfieldsetelement::HTMLFieldSetElement', #XXXjdm
- 'dom::htmlfontelement::HTMLFontElement', #XXXjdm
- 'dom::htmlframeelement::HTMLFrameElement', #XXXjdm
- 'dom::htmlframesetelement::HTMLFrameSetElement', #XXXjdm
- 'dom::htmldocument::HTMLDocument', #XXXjdm
- 'dom::htmlheadingelement::HTMLHeadingElement',
- 'dom::htmlhrelement::HTMLHRElement',
- 'dom::htmliframeelement::HTMLIFrameElement', #XXXjdm
- 'dom::htmlimageelement::HTMLImageElement', #XXXjdm
- 'dom::htmlinputelement::HTMLInputElement',
- 'dom::htmllielement::HTMLLIElement',
- 'dom::htmllinkelement::HTMLLinkElement', #XXXrecrack
- 'dom::htmlmapelement::HTMLMapElement',
- 'dom::htmlmetaelement::HTMLMetaElement',
- 'dom::htmlolistelement::HTMLOListElement',
- 'dom::htmlprogresselement::HTMLProgressElement',
- 'dom::htmlquoteelement::HTMLQuoteElement',
- 'dom::htmlscriptelement::HTMLScriptElement',
- 'dom::htmlsourceelement::HTMLSourceElement',
- 'dom::htmlstyleelement::HTMLStyleElement',
- 'dom::htmltablecaptionelement::HTMLTableCaptionElement',
- 'dom::htmltableelement::HTMLTableElement',
- 'dom::htmltablecellelement::HTMLTableCellElement',
- 'dom::htmltablecolelement::HTMLTableColElement',
- 'dom::htmltablerowelement::HTMLTableRowElement',
- 'dom::htmltablesectionelement::HTMLTableSectionElement',
- 'dom::htmltextareaelement::HTMLTextAreaElement',
- 'dom::htmltimeelement::HTMLTimeElement',
- 'dom::htmltitleelement::HTMLTitleElement', #XXXyusukesuzuki
- 'dom::htmlulistelement::HTMLUListElement',
+ 'dom::types::*',
'dom::bindings::utils::*',
'dom::bindings::conversions::*',
- 'dom::blob::*', #XXXjdm
- 'dom::clientrect::*', #XXXjdm
- 'dom::clientrectlist::*', #XXXjdm
- 'dom::htmlcollection::*', #XXXjdm
- 'dom::bindings::proxyhandler::*',
- 'dom::domparser::*', #XXXjdm
- 'dom::event::*', #XXXjdm
- 'dom::eventtarget::*', #XXXjdm
- 'dom::formdata::*', #XXXjdm
- 'dom::mouseevent::*', #XXXjdm
- 'dom::uievent::*', #XXXjdm
- 'dom::validitystate::*', #XXXjdm
- 'dom::windowproxy::*', #XXXjdm
- 'dom::window::Window', #XXXjdm
'dom::bindings::codegen::*', #XXXjdm
'script_task::{JSPageInfo, page_from_context}',
'dom::bindings::utils::EnumEntry',
- 'dom::node::ScriptView',
+ 'dom::bindings::proxyhandler::*',
+ 'dom::document::AbstractDocument',
+ 'dom::node::{AbstractNode, ScriptView}',
'servo_util::vec::zip_copies',
'std::cast',
'std::libc',
@@ -4782,3 +4722,18 @@ class GlobalGenRoots():
# Done.
return curr
+ @staticmethod
+ def InterfaceTypes(config):
+
+ descriptors = [d.name for d in config.getDescriptors(register=True)]
+ curr = CGList([CGGeneric(declare="pub use dom::%s::%s;\n" % (name.lower(), name)) for name in descriptors])
+ curr = CGWrapper(curr, pre=AUTOGENERATED_WARNING_COMMENT)
+ return curr
+
+ @staticmethod
+ def BindingDeclarations(config):
+
+ descriptors = [d.name for d in config.getDescriptors(register=True)]
+ curr = CGList([CGGeneric(declare="pub mod %sBinding;\n" % name) for name in descriptors])
+ curr = CGWrapper(curr, pre=AUTOGENERATED_WARNING_COMMENT)
+ return curr
diff --git a/src/components/script/dom/bindings/codegen/GlobalGen.py b/src/components/script/dom/bindings/codegen/GlobalGen.py
index ab6427a638c..9f46c786065 100644
--- a/src/components/script/dom/bindings/codegen/GlobalGen.py
+++ b/src/components/script/dom/bindings/codegen/GlobalGen.py
@@ -80,6 +80,12 @@ def main():
# Generate the common code.
generate_file(config, 'RegisterBindings', 'declare+define')
+ # Generate the type list.
+ generate_file(config, 'InterfaceTypes', 'declare+define')
+
+ # Generate the module declarations.
+ generate_file(config, 'BindingDeclarations', 'declare+define')
+
#XXXjdm No union support yet
#generate_file(config, 'UnionTypes', 'declare')
#generate_file(config, 'UnionConversions', 'declare')