diff options
author | Josh Matthews <josh@joshmatthews.net> | 2013-08-26 16:25:02 -0400 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2013-08-26 16:25:02 -0400 |
commit | e552cfd4ce4e71095ca6302589b04d673c81dea4 (patch) | |
tree | a0690db1313cdfbda065bb1df4952145bfdc249d /src | |
parent | 540993f196e95f7790482bd7678de3b05aa2ea5f (diff) | |
download | servo-e552cfd4ce4e71095ca6302589b04d673c81dea4.tar.gz servo-e552cfd4ce4e71095ca6302589b04d673c81dea4.zip |
Generate bindings for HTMLFrameElement.
Diffstat (limited to 'src')
-rw-r--r-- | src/components/script/dom/bindings/codegen/Bindings.conf | 2 | ||||
-rw-r--r-- | src/components/script/dom/bindings/codegen/CodegenRust.py | 2 | ||||
-rw-r--r-- | src/components/script/dom/bindings/codegen/HTMLFrameElement.webidl | 34 | ||||
-rw-r--r-- | src/components/script/dom/bindings/node.rs | 7 | ||||
-rw-r--r-- | src/components/script/dom/element.rs | 11 | ||||
-rw-r--r-- | src/components/script/dom/htmlframeelement.rs | 78 | ||||
-rw-r--r-- | src/components/script/html/hubbub_html_parser.rs | 9 | ||||
-rw-r--r-- | src/components/script/script.rc | 4 |
8 files changed, 141 insertions, 6 deletions
diff --git a/src/components/script/dom/bindings/codegen/Bindings.conf b/src/components/script/dom/bindings/codegen/Bindings.conf index 2066fae2fba..ece3ca862af 100644 --- a/src/components/script/dom/bindings/codegen/Bindings.conf +++ b/src/components/script/dom/bindings/codegen/Bindings.conf @@ -564,7 +564,9 @@ addHTMLElement('HTMLDListElement') addHTMLElement('HTMLElement') addHTMLElement('HTMLEmbedElement') addHTMLElement('HTMLFieldSetElement') +addHTMLElement('HTMLFontElement') addHTMLElement('HTMLFormElement') +addHTMLElement('HTMLFrameElement') addHTMLElement('HTMLHeadElement') addHTMLElement('HTMLHtmlElement') addHTMLElement('HTMLHRElement') diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index 8dfae4857dc..f0855b0bda7 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -4632,6 +4632,8 @@ class CGBindingRoot(CGThing): 'dom::htmlelement::HTMLElement', #XXXjdm 'dom::htmlembedelement::HTMLEmbedElement', #XXXjdm 'dom::htmlfieldsetelement::HTMLFieldSetElement', #XXXjdm + 'dom::htmlfontelement::HTMLFontElement', #XXXjdm + 'dom::htmlframeelement::HTMLFrameElement', #XXXjdm 'dom::htmldocument::HTMLDocument', #XXXjdm 'dom::htmlhrelement::HTMLHRElement', 'dom::htmliframeelement::HTMLIFrameElement', #XXXjdm diff --git a/src/components/script/dom/bindings/codegen/HTMLFrameElement.webidl b/src/components/script/dom/bindings/codegen/HTMLFrameElement.webidl new file mode 100644 index 00000000000..4a62c3f9bee --- /dev/null +++ b/src/components/script/dom/bindings/codegen/HTMLFrameElement.webidl @@ -0,0 +1,34 @@ +/* -*- 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/#htmlframeelement + * © 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/#htmlframeelement +interface HTMLFrameElement : HTMLElement { + [SetterThrows] + attribute DOMString name; + [SetterThrows] + attribute DOMString scrolling; + [SetterThrows] + attribute DOMString src; + [SetterThrows] + attribute DOMString frameBorder; + [SetterThrows] + attribute DOMString longDesc; + [SetterThrows] + attribute boolean noResize; + readonly attribute Document? contentDocument; + readonly attribute WindowProxy? contentWindow; + + [TreatNullAs=EmptyString, SetterThrows] attribute DOMString marginHeight; + [TreatNullAs=EmptyString, SetterThrows] attribute DOMString marginWidth; +}; + +//HTMLFrameElement implements MozFrameLoaderOwner; diff --git a/src/components/script/dom/bindings/node.rs b/src/components/script/dom/bindings/node.rs index e685204a916..727732d264d 100644 --- a/src/components/script/dom/bindings/node.rs +++ b/src/components/script/dom/bindings/node.rs @@ -12,7 +12,8 @@ use dom::element::{HTMLElementTypeId, HTMLBodyElementTypeId, HTMLBRElementTypeId, HTMLButtonElementTypeId, HTMLCanvasElementTypeId, HTMLDataElementTypeId, HTMLDataListElementTypeId, HTMLDirectoryElementTypeId, HTMLDivElementTypeId, HTMLEmbedElementTypeId, - HTMLFieldSetElementTypeId, HTMLHeadElementTypeId, + HTMLFieldSetElementTypeId, HTMLFontElementTypeId, HTMLFrameElementTypeId, + HTMLHeadElementTypeId, HTMLHRElementTypeId, HTMLHtmlElementTypeId, HTMLIframeElementTypeId, HTMLImageElementTypeId, HTMLInputElementTypeId, HTMLLIElementTypeId, HTMLLinkElementTypeId, HTMLMetaElementTypeId, HTMLOListElementTypeId, @@ -41,6 +42,8 @@ use dom::htmldirectoryelement::HTMLDirectoryElement; use dom::htmldlistelement::HTMLDListElement; use dom::htmlembedelement::HTMLEmbedElement; use dom::htmlfieldsetelement::HTMLFieldSetElement; +use dom::htmlfontelement::HTMLFontElement; +use dom::htmlframeelement::HTMLFrameElement; use dom::htmliframeelement::HTMLIFrameElement; use dom::htmlimageelement::HTMLImageElement; use dom::htmlinputelement::HTMLInputElement; @@ -143,6 +146,8 @@ pub fn create(cx: *JSContext, node: &mut AbstractNode<ScriptView>) -> *JSObject ElementNodeTypeId(HTMLDivElementTypeId) => generate_element!(HTMLDivElement), ElementNodeTypeId(HTMLEmbedElementTypeId) => generate_element!(HTMLEmbedElement), ElementNodeTypeId(HTMLFieldSetElementTypeId) => generate_element!(HTMLFieldSetElement), + ElementNodeTypeId(HTMLFontElementTypeId) => generate_element!(HTMLFontElement), + ElementNodeTypeId(HTMLFrameElementTypeId) => generate_element!(HTMLFrameElement), ElementNodeTypeId(HTMLHeadElementTypeId) => generate_element!(HTMLHeadElement), ElementNodeTypeId(HTMLHRElementTypeId) => generate_element!(HTMLHRElement), ElementNodeTypeId(HTMLHtmlElementTypeId) => generate_element!(HTMLHtmlElement), diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs index 6fa81474944..9cc1599f919 100644 --- a/src/components/script/dom/element.rs +++ b/src/components/script/dom/element.rs @@ -11,7 +11,8 @@ use dom::bindings::codegen::{HTMLAnchorElementBinding, HTMLAppletElementBinding, HTMLDataElementBinding, HTMLDataListElementBinding, HTMLDirectoryElementBinding, HTMLDListElementBinding, HTMLDivElementBinding, HTMLEmbedElementBinding, - HTMLFieldSetElementBinding, HTMLHeadElementBinding, + HTMLFieldSetElementBinding, HTMLFontElementBinding, + HTMLFrameElementBinding, HTMLHeadElementBinding, HTMLHRElementBinding, HTMLHtmlElementBinding, HTMLIFrameElementBinding, HTMLImageElementBinding, HTMLInputElementBinding, HTMLLIElementBinding, @@ -44,6 +45,8 @@ use dom::htmldlistelement::HTMLDListElement; use dom::htmlelement::HTMLElement; use dom::htmlembedelement::HTMLEmbedElement; use dom::htmlfieldsetelement::HTMLFieldSetElement; +use dom::htmlfontelement::HTMLFontElement; +use dom::htmlframeelement::HTMLFrameElement; use dom::htmlhrelement::HTMLHRElement; use dom::htmliframeelement::HTMLIFrameElement; use dom::htmlimageelement::HTMLImageElement; @@ -122,6 +125,7 @@ pub enum ElementTypeId { HTMLFieldSetElementTypeId, HTMLFontElementTypeId, HTMLFormElementTypeId, + HTMLFrameElementTypeId, HTMLHRElementTypeId, HTMLHeadElementTypeId, HTMLHeadingElementTypeId, @@ -161,7 +165,6 @@ pub enum ElementTypeId { // pub struct HTMLDivElement { parent: HTMLElement } -pub struct HTMLFontElement { parent: HTMLElement } pub struct HTMLFormElement { parent: HTMLElement } pub struct HTMLHeadElement { parent: HTMLElement } pub struct HTMLHtmlElement { parent: HTMLElement } @@ -244,6 +247,8 @@ generate_cacheable_wrapper!(HTMLDataListElement, HTMLDataListElementBinding::Wra generate_binding_object!(HTMLDataListElement) generate_cacheable_wrapper!(HTMLDListElement, HTMLDListElementBinding::Wrap) generate_binding_object!(HTMLDListElement) +generate_cacheable_wrapper!(HTMLFrameElement, HTMLFrameElementBinding::Wrap) +generate_binding_object!(HTMLFrameElement) generate_cacheable_wrapper!(HTMLBRElement, HTMLBRElementBinding::Wrap) generate_binding_object!(HTMLBRElement) generate_cacheable_wrapper!(HTMLHRElement, HTMLHRElementBinding::Wrap) @@ -260,6 +265,8 @@ generate_cacheable_wrapper!(HTMLEmbedElement, HTMLEmbedElementBinding::Wrap) generate_binding_object!(HTMLEmbedElement) generate_cacheable_wrapper!(HTMLFieldSetElement, HTMLFieldSetElementBinding::Wrap) generate_binding_object!(HTMLFieldSetElement) +generate_cacheable_wrapper!(HTMLFontElement, HTMLFontElementBinding::Wrap) +generate_binding_object!(HTMLFontElement) generate_cacheable_wrapper!(HTMLIFrameElement, HTMLIFrameElementBinding::Wrap) generate_binding_object!(HTMLIFrameElement) generate_cacheable_wrapper!(HTMLImageElement, HTMLImageElementBinding::Wrap) diff --git a/src/components/script/dom/htmlframeelement.rs b/src/components/script/dom/htmlframeelement.rs new file mode 100644 index 00000000000..64ce1537363 --- /dev/null +++ b/src/components/script/dom/htmlframeelement.rs @@ -0,0 +1,78 @@ +/* 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::document::AbstractDocument; +use dom::htmlelement::HTMLElement; +use dom::windowproxy::WindowProxy; + +pub struct HTMLFrameElement { + parent: HTMLElement +} + +impl HTMLFrameElement { + pub fn Name(&self) -> DOMString { + null_string + } + + pub fn SetName(&mut self, _name: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn Scrolling(&self) -> DOMString { + null_string + } + + pub fn SetScrolling(&mut self, _scrolling: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn Src(&self) -> DOMString { + null_string + } + + pub fn SetSrc(&mut self, _src: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn FrameBorder(&self) -> DOMString { + null_string + } + + pub fn SetFrameBorder(&mut self, _frameborder: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn LongDesc(&self) -> DOMString { + null_string + } + + pub fn SetLongDesc(&mut self, _longdesc: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn NoResize(&self) -> bool { + false + } + + pub fn SetNoResize(&mut self, _no_resize: bool, _rv: &mut ErrorResult) { + } + + pub fn GetContentDocument(&self) -> Option<AbstractDocument> { + None + } + + pub fn GetContentWindow(&self) -> Option<@mut WindowProxy> { + None + } + + pub fn MarginHeight(&self) -> DOMString { + null_string + } + + pub fn SetMarginHeight(&mut self, _height: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn MarginWidth(&self) -> DOMString { + null_string + } + + pub fn SetMarginWidth(&mut self, _height: &DOMString, _rv: &mut ErrorResult) { + } +}
\ No newline at end of file diff --git a/src/components/script/html/hubbub_html_parser.rs b/src/components/script/html/hubbub_html_parser.rs index 686fe185bbb..0a9b052b44e 100644 --- a/src/components/script/html/hubbub_html_parser.rs +++ b/src/components/script/html/hubbub_html_parser.rs @@ -8,8 +8,8 @@ use dom::element::{HTMLElementTypeId, HTMLBRElementTypeId, HTMLButtonElementTypeId, HTMLCanvasElementTypeId, HTMLDataElementTypeId, HTMLDataListElementTypeId, HTMLDivElementTypeId, HTMLDirectoryElementTypeId, HTMLDListElementTypeId, HTMLEmbedElementTypeId, - HTMLFieldSetElementTypeId, HTMLFontElementTypeId, - HTMLFormElementTypeId, HTMLHRElementTypeId, HTMLHeadElementTypeId, + HTMLFieldSetElementTypeId, HTMLFontElementTypeId, HTMLFormElementTypeId, + HTMLFrameElementTypeId, HTMLHRElementTypeId, HTMLHeadElementTypeId, HTMLHtmlElementTypeId, HTMLImageElementTypeId, HTMLIframeElementTypeId, HTMLInputElementTypeId, HTMLLinkElementTypeId, HTMLLIElementTypeId, HTMLMetaElementTypeId, HTMLOListElementTypeId, HTMLOptionElementTypeId, @@ -22,7 +22,7 @@ use dom::element::{HTMLElementTypeId, HTMLTableRowElementTypeId, HTMLTextAreaElementTypeId, HTMLTimeElementTypeId, HTMLTitleElementTypeId, HTMLUListElementTypeId, UnknownElementTypeId}; -use dom::element::{HTMLDivElement, HTMLFontElement, HTMLFormElement, +use dom::element::{HTMLDivElement, HTMLFormElement, HTMLHeadElement, HTMLHeadingElement, HTMLHtmlElement, HTMLOptionElement, HTMLParagraphElement, HTMLSelectElement, HTMLSmallElement, @@ -43,6 +43,8 @@ use dom::htmldirectoryelement::HTMLDirectoryElement; use dom::htmldlistelement::HTMLDListElement; use dom::htmlembedelement::HTMLEmbedElement; use dom::htmlfieldsetelement::HTMLFieldSetElement; +use dom::htmlfontelement::HTMLFontElement; +use dom::htmlframeelement::HTMLFrameElement; use dom::htmlhrelement::HTMLHRElement; use dom::htmliframeelement::{IFrameSize, HTMLIFrameElement}; use dom::htmlimageelement::HTMLImageElement; @@ -263,6 +265,7 @@ fn build_element_from_tag(cx: *JSContext, tag: &str) -> AbstractNode<ScriptView> handle_element!(cx, tag, "fieldset",HTMLFieldSetElementTypeId, HTMLFieldSetElement, []); handle_element!(cx, tag, "font", HTMLFontElementTypeId, HTMLFontElement, []); handle_element!(cx, tag, "form", HTMLFormElementTypeId, HTMLFormElement, []); + handle_element!(cx, tag, "frame", HTMLFrameElementTypeId, HTMLFrameElement, []); handle_element!(cx, tag, "hr", HTMLHRElementTypeId, HTMLHRElement, []); handle_element!(cx, tag, "head", HTMLHeadElementTypeId, HTMLHeadElement, []); handle_element!(cx, tag, "html", HTMLHtmlElementTypeId, HTMLHtmlElement, []); diff --git a/src/components/script/script.rc b/src/components/script/script.rc index 52e82349149..013eeba3e4b 100644 --- a/src/components/script/script.rc +++ b/src/components/script/script.rc @@ -60,6 +60,8 @@ pub mod dom { pub mod HTMLElementBinding; pub mod HTMLEmbedElementBinding; pub mod HTMLFieldSetElementBinding; + pub mod HTMLFontElementBinding; + pub mod HTMLFrameElementBinding; pub mod HTMLHeadElementBinding; pub mod HTMLHRElementBinding; pub mod HTMLHtmlElementBinding; @@ -125,6 +127,8 @@ pub mod dom { pub mod htmlelement; pub mod htmlembedelement; pub mod htmlfieldsetelement; + pub mod htmlfontelement; + pub mod htmlframeelement; pub mod htmlhrelement; pub mod htmliframeelement; pub mod htmlimageelement; |