aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2013-08-26 16:25:02 -0400
committerJosh Matthews <josh@joshmatthews.net>2013-08-26 16:25:02 -0400
commite552cfd4ce4e71095ca6302589b04d673c81dea4 (patch)
treea0690db1313cdfbda065bb1df4952145bfdc249d /src
parent540993f196e95f7790482bd7678de3b05aa2ea5f (diff)
downloadservo-e552cfd4ce4e71095ca6302589b04d673c81dea4.tar.gz
servo-e552cfd4ce4e71095ca6302589b04d673c81dea4.zip
Generate bindings for HTMLFrameElement.
Diffstat (limited to 'src')
-rw-r--r--src/components/script/dom/bindings/codegen/Bindings.conf2
-rw-r--r--src/components/script/dom/bindings/codegen/CodegenRust.py2
-rw-r--r--src/components/script/dom/bindings/codegen/HTMLFrameElement.webidl34
-rw-r--r--src/components/script/dom/bindings/node.rs7
-rw-r--r--src/components/script/dom/element.rs11
-rw-r--r--src/components/script/dom/htmlframeelement.rs78
-rw-r--r--src/components/script/html/hubbub_html_parser.rs9
-rw-r--r--src/components/script/script.rc4
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;