diff options
author | Junyoung Cho <june0.cho@samsung.com> | 2013-08-09 10:38:51 +0900 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2013-08-22 16:24:11 -0400 |
commit | f12406ac241e3919214d3ef909a8282c2c86e59f (patch) | |
tree | 014d472ff700899e076a40d695db17563b5d3b3b | |
parent | fe5b795f30fdf8d01d582ba29a24188772a7bda3 (diff) | |
download | servo-f12406ac241e3919214d3ef909a8282c2c86e59f.tar.gz servo-f12406ac241e3919214d3ef909a8282c2c86e59f.zip |
Generate bindings for HTMLAppletElement
-rw-r--r-- | src/components/script/dom/bindings/codegen/Bindings.conf | 1 | ||||
-rw-r--r-- | src/components/script/dom/bindings/codegen/CodegenRust.py | 1 | ||||
-rw-r--r-- | src/components/script/dom/bindings/codegen/HTMLAppletElement.webidl | 44 | ||||
-rw-r--r-- | src/components/script/dom/bindings/node.rs | 5 | ||||
-rw-r--r-- | src/components/script/dom/element.rs | 7 | ||||
-rw-r--r-- | src/components/script/dom/htmlappletelement.rs | 89 | ||||
-rw-r--r-- | src/components/script/html/hubbub_html_parser.rs | 4 | ||||
-rw-r--r-- | src/components/script/script.rc | 2 |
8 files changed, 150 insertions, 3 deletions
diff --git a/src/components/script/dom/bindings/codegen/Bindings.conf b/src/components/script/dom/bindings/codegen/Bindings.conf index 8a6a89cfc43..84759a68f4a 100644 --- a/src/components/script/dom/bindings/codegen/Bindings.conf +++ b/src/components/script/dom/bindings/codegen/Bindings.conf @@ -546,6 +546,7 @@ def addHTMLElement(element): } addHTMLElement('HTMLAnchorElement') +addHTMLElement('HTMLAppletElement') addHTMLElement('HTMLBodyElement') addHTMLElement('HTMLBRElement') addHTMLElement('HTMLCanvasElement') diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index 3504b762e67..cb280cdf1b8 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -4618,6 +4618,7 @@ class CGBindingRoot(CGThing): 'dom::element::{Element, HTMLHeadElement, HTMLHtmlElement}', #XXXjdm 'dom::element::{HTMLDivElement, HTMLSpanElement, HTMLParagraphElement}', #XXXjdm 'dom::htmlanchorelement::HTMLAnchorElement', #XXXjdm + 'dom::htmlappletelement::HTMLAppletElement', 'dom::htmlbodyelement::HTMLBodyElement', 'dom::htmlbrelement::HTMLBRElement', #XXXrecrack 'dom::htmlcanvaselement::HTMLCanvasElement', diff --git a/src/components/script/dom/bindings/codegen/HTMLAppletElement.webidl b/src/components/script/dom/bindings/codegen/HTMLAppletElement.webidl new file mode 100644 index 00000000000..a34c4effb06 --- /dev/null +++ b/src/components/script/dom/bindings/codegen/HTMLAppletElement.webidl @@ -0,0 +1,44 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. + * + * The origin of this IDL file is + * http://www.whatwg.org/specs/web-apps/current-work/#the-applet-element + * + * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and + * Opera Software ASA. You are granted a license to use, reproduce + * and create derivative works of this document. + */ + +// http://www.whatwg.org/specs/web-apps/current-work/#the-applet-element +[NeedNewResolve] +interface HTMLAppletElement : HTMLElement { + [Pure, SetterThrows] + attribute DOMString align; + [Pure, SetterThrows] + attribute DOMString alt; + [Pure, SetterThrows] + attribute DOMString archive; + [Pure, SetterThrows] + attribute DOMString code; + [Pure, SetterThrows] + attribute DOMString codeBase; + [Pure, SetterThrows] + attribute DOMString height; + [Pure, SetterThrows] + attribute unsigned long hspace; + [Pure, SetterThrows] + attribute DOMString name; + [Pure, SetterThrows] + attribute DOMString _object; + [Pure, SetterThrows] + attribute unsigned long vspace; + [Pure, SetterThrows] + attribute DOMString width; +}; + +//HTMLAppletElement implements MozImageLoadingContent; +//HTMLAppletElement implements MozFrameLoaderOwner; +//HTMLAppletElement implements MozObjectLoadingContent; + diff --git a/src/components/script/dom/bindings/node.rs b/src/components/script/dom/bindings/node.rs index fea24c9929c..7e7ef0e0696 100644 --- a/src/components/script/dom/bindings/node.rs +++ b/src/components/script/dom/bindings/node.rs @@ -7,7 +7,8 @@ use dom::bindings::text; use dom::bindings::utils; use dom::bindings::utils::{CacheableWrapper, WrapperCache, DerivedWrapper}; use dom::element::{HTMLElementTypeId, - HTMLAnchorElementTypeId, HTMLBodyElementTypeId, HTMLBRElementTypeId, + HTMLAnchorElementTypeId, HTMLAppletElementTypeId, + HTMLBodyElementTypeId, HTMLBRElementTypeId, HTMLCanvasElementTypeId, HTMLDivElementTypeId, HTMLHeadElementTypeId, HTMLHRElementTypeId, HTMLHtmlElementTypeId, HTMLIframeElementTypeId, HTMLImageElementTypeId, @@ -21,6 +22,7 @@ use dom::element::{HTMLElementTypeId, use dom::element::{HTMLHeadElement,HTMLHtmlElement, HTMLDivElement, HTMLParagraphElement, HTMLSpanElement}; use dom::htmlelement::HTMLElement; use dom::htmlanchorelement::HTMLAnchorElement; +use dom::htmlappletelement::HTMLAppletElement; use dom::htmlbodyelement::HTMLBodyElement; use dom::htmlhrelement::HTMLHRElement; use dom::htmlbrelement::HTMLBRElement; @@ -107,6 +109,7 @@ pub fn create(cx: *JSContext, node: &mut AbstractNode<ScriptView>) -> *JSObject match node.type_id() { ElementNodeTypeId(HTMLElementTypeId) => generate_element!(HTMLElement), ElementNodeTypeId(HTMLAnchorElementTypeId) => generate_element!(HTMLAnchorElement), + ElementNodeTypeId(HTMLAppletElementTypeId) => generate_element!(HTMLAppletElement), ElementNodeTypeId(HTMLBodyElementTypeId) => generate_element!(HTMLBodyElement), ElementNodeTypeId(HTMLBRElementTypeId) => generate_element!(HTMLBRElement), ElementNodeTypeId(HTMLCanvasElementTypeId) => generate_element!(HTMLCanvasElement), diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs index fccc878a3a4..60089646228 100644 --- a/src/components/script/dom/element.rs +++ b/src/components/script/dom/element.rs @@ -4,7 +4,8 @@ //! Element nodes. -use dom::bindings::codegen::{HTMLAnchorElementBinding, HTMLBodyElementBinding, HTMLBRElementBinding, +use dom::bindings::codegen::{HTMLAnchorElementBinding, HTMLAppletElementBinding, + HTMLBodyElementBinding, HTMLBRElementBinding, HTMLCanvasElementBinding, HTMLDListElementBinding, HTMLDivElementBinding, HTMLHeadElementBinding, HTMLHRElementBinding, HTMLHtmlElementBinding, HTMLIFrameElementBinding, @@ -20,6 +21,7 @@ use dom::bindings::utils::{BindingObject, CacheableWrapper, DOMString, ErrorResu use dom::clientrect::ClientRect; use dom::clientrectlist::ClientRectList; use dom::htmlanchorelement::HTMLAnchorElement; +use dom::htmlappletelement::HTMLAppletElement; use dom::htmlbodyelement::HTMLBodyElement; use dom::htmlbrelement::HTMLBRElement; use dom::htmlcanvaselement::HTMLCanvasElement; @@ -81,6 +83,7 @@ impl BindingObject for Element { pub enum ElementTypeId { HTMLElementTypeId, HTMLAnchorElementTypeId, + HTMLAppletElementTypeId, HTMLBRElementTypeId, HTMLBodyElementTypeId, HTMLCanvasElementTypeId, @@ -195,6 +198,8 @@ generate_cacheable_wrapper!(HTMLHeadElement, HTMLHeadElementBinding::Wrap) generate_binding_object!(HTMLHeadElement) generate_cacheable_wrapper!(HTMLAnchorElement, HTMLAnchorElementBinding::Wrap) generate_binding_object!(HTMLAnchorElement) +generate_cacheable_wrapper!(HTMLAppletElement, HTMLAppletElementBinding::Wrap) +generate_binding_object!(HTMLAppletElement) generate_cacheable_wrapper!(HTMLBodyElement, HTMLBodyElementBinding::Wrap) generate_binding_object!(HTMLBodyElement) generate_cacheable_wrapper!(HTMLCanvasElement, HTMLCanvasElementBinding::Wrap) diff --git a/src/components/script/dom/htmlappletelement.rs b/src/components/script/dom/htmlappletelement.rs new file mode 100644 index 00000000000..8c8ee5e6cf1 --- /dev/null +++ b/src/components/script/dom/htmlappletelement.rs @@ -0,0 +1,89 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +use dom::bindings::utils::{DOMString, null_string, ErrorResult}; +use dom::htmlelement::HTMLElement; + +pub struct HTMLAppletElement { + parent: HTMLElement +} + +impl HTMLAppletElement { + pub fn Align(&self) -> DOMString { + null_string + } + + pub fn SetAlign(&mut self, _align: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn Alt(&self) -> DOMString { + null_string + } + + pub fn SetAlt(&self, _alt: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn Archive(&self) -> DOMString { + null_string + } + + pub fn SetArchive(&self, _archive: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn Code(&self) -> DOMString { + null_string + } + + pub fn SetCode(&self, _code: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn CodeBase(&self) -> DOMString { + null_string + } + + pub fn SetCodeBase(&self, _code_base: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn Height(&self) -> DOMString { + null_string + } + + pub fn SetHeight(&self, _height: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn Hspace(&self) -> u32 { + 0 + } + + pub fn SetHspace(&mut self, _hspace: u32, _rv: &mut ErrorResult) { + } + + pub fn Name(&self) -> DOMString { + null_string + } + + pub fn SetName(&mut self, _name: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn Object(&self) -> DOMString { + null_string + } + + pub fn SetObject(&mut self, _object: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn Vspace(&self) -> u32 { + 0 + } + + pub fn SetVspace(&mut self, _vspace: u32, _rv: &mut ErrorResult) { + } + + pub fn Width(&self) -> DOMString { + null_string + } + + pub fn SetWidth(&mut self, _width: &DOMString, _rv: &mut ErrorResult) { + } +} diff --git a/src/components/script/html/hubbub_html_parser.rs b/src/components/script/html/hubbub_html_parser.rs index 0342dabfbf6..51d17d8cfb2 100644 --- a/src/components/script/html/hubbub_html_parser.rs +++ b/src/components/script/html/hubbub_html_parser.rs @@ -3,7 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::element::{HTMLElementTypeId, - HTMLAnchorElementTypeId, HTMLBRElementTypeId, + HTMLAnchorElementTypeId, HTMLAppletElementTypeId, HTMLBRElementTypeId, HTMLBodyElementTypeId, HTMLCanvasElementTypeId, HTMLDivElementTypeId, HTMLDListElementTypeId, HTMLFontElementTypeId, HTMLFormElementTypeId, HTMLHRElementTypeId, @@ -28,6 +28,7 @@ use dom::element::{HTMLHeadingElementTypeId, Heading1, Heading2, Heading3, Headi Heading6}; use dom::htmlbrelement::HTMLBRElement; use dom::htmlanchorelement::HTMLAnchorElement; +use dom::htmlappletelement::HTMLAppletElement; use dom::htmlbodyelement::HTMLBodyElement; use dom::htmlcanvaselement::HTMLCanvasElement; use dom::htmldlistelement::HTMLDListElement; @@ -228,6 +229,7 @@ fn js_script_listener(to_parent: SharedChan<HtmlDiscoveryMessage>, fn build_element_from_tag(cx: *JSContext, tag: &str) -> AbstractNode<ScriptView> { // TODO (Issue #85): use atoms handle_element!(cx, tag, "a", HTMLAnchorElementTypeId, HTMLAnchorElement, []); + handle_element!(cx, tag, "applet", HTMLAppletElementTypeId, HTMLAppletElement, []); handle_element!(cx, tag, "br", HTMLBRElementTypeId, HTMLBRElement, []); handle_element!(cx, tag, "body", HTMLBodyElementTypeId, HTMLBodyElement, []); handle_element!(cx, tag, "canvas", HTMLCanvasElementTypeId, HTMLCanvasElement, []); diff --git a/src/components/script/script.rc b/src/components/script/script.rc index 6a7bb3a8629..e779b198707 100644 --- a/src/components/script/script.rc +++ b/src/components/script/script.rc @@ -43,6 +43,7 @@ pub mod dom { pub mod EventTargetBinding; pub mod FormDataBinding; pub mod HTMLAnchorElementBinding; + pub mod HTMLAppletElementBinding; pub mod HTMLBodyElementBinding; pub mod HTMLBRElementBinding; pub mod HTMLCanvasElementBinding; @@ -92,6 +93,7 @@ pub mod dom { pub mod eventtarget; pub mod formdata; pub mod htmlanchorelement; + pub mod htmlappletelement; pub mod htmlbodyelement; pub mod htmlbrelement; pub mod htmlcanvaselement; |