aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/script')
-rw-r--r--src/components/script/dom/bindings/codegen/Bindings.conf1
-rw-r--r--src/components/script/dom/bindings/codegen/CodegenRust.py1
-rw-r--r--src/components/script/dom/bindings/codegen/HTMLHeadingElement.webidl21
-rw-r--r--src/components/script/dom/bindings/node.rs4
-rw-r--r--src/components/script/dom/element.rs23
-rw-r--r--src/components/script/dom/htmlheadingelement.rs29
-rw-r--r--src/components/script/html/hubbub_html_parser.rs7
-rw-r--r--src/components/script/script.rc2
8 files changed, 65 insertions, 23 deletions
diff --git a/src/components/script/dom/bindings/codegen/Bindings.conf b/src/components/script/dom/bindings/codegen/Bindings.conf
index bc5febf51fe..7074a855198 100644
--- a/src/components/script/dom/bindings/codegen/Bindings.conf
+++ b/src/components/script/dom/bindings/codegen/Bindings.conf
@@ -569,6 +569,7 @@ addHTMLElement('HTMLFormElement')
addHTMLElement('HTMLFrameElement')
addHTMLElement('HTMLFrameSetElement')
addHTMLElement('HTMLHeadElement')
+addHTMLElement('HTMLHeadingElement')
addHTMLElement('HTMLHtmlElement')
addHTMLElement('HTMLHRElement')
addHTMLElement('HTMLIFrameElement')
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py
index fcb98fd7a10..41a7b9af97e 100644
--- a/src/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/src/components/script/dom/bindings/codegen/CodegenRust.py
@@ -4636,6 +4636,7 @@ class CGBindingRoot(CGThing):
'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
diff --git a/src/components/script/dom/bindings/codegen/HTMLHeadingElement.webidl b/src/components/script/dom/bindings/codegen/HTMLHeadingElement.webidl
new file mode 100644
index 00000000000..37e7396dfdd
--- /dev/null
+++ b/src/components/script/dom/bindings/codegen/HTMLHeadingElement.webidl
@@ -0,0 +1,21 @@
+/* -*- 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-h1,-h2,-h3,-h4,-h5,-and-h6-elements
+ * http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+ * © 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-h1,-h2,-h3,-h4,-h5,-and-h6-elements
+interface HTMLHeadingElement : HTMLElement {
+};
+
+// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
+partial interface HTMLHeadingElement {
+ attribute DOMString align;
+};
diff --git a/src/components/script/dom/bindings/node.rs b/src/components/script/dom/bindings/node.rs
index 695b3822ffd..922864fa52d 100644
--- a/src/components/script/dom/bindings/node.rs
+++ b/src/components/script/dom/bindings/node.rs
@@ -13,7 +13,7 @@ use dom::element::{HTMLElementTypeId,
HTMLCanvasElementTypeId, HTMLDataElementTypeId, HTMLDataListElementTypeId,
HTMLDirectoryElementTypeId, HTMLDivElementTypeId, HTMLEmbedElementTypeId,
HTMLFieldSetElementTypeId, HTMLFontElementTypeId, HTMLFrameElementTypeId,
- HTMLFrameSetElementTypeId, HTMLHeadElementTypeId,
+ HTMLFrameSetElementTypeId, HTMLHeadElementTypeId, HTMLHeadingElementTypeId,
HTMLHRElementTypeId, HTMLHtmlElementTypeId, HTMLIframeElementTypeId,
HTMLImageElementTypeId, HTMLInputElementTypeId, HTMLLIElementTypeId,
HTMLLinkElementTypeId, HTMLMetaElementTypeId, HTMLOListElementTypeId,
@@ -45,6 +45,7 @@ use dom::htmlfieldsetelement::HTMLFieldSetElement;
use dom::htmlfontelement::HTMLFontElement;
use dom::htmlframeelement::HTMLFrameElement;
use dom::htmlframesetelement::HTMLFrameSetElement;
+use dom::htmlheadingelement::HTMLHeadingElement;
use dom::htmliframeelement::HTMLIFrameElement;
use dom::htmlimageelement::HTMLImageElement;
use dom::htmlinputelement::HTMLInputElement;
@@ -151,6 +152,7 @@ pub fn create(cx: *JSContext, node: &mut AbstractNode<ScriptView>) -> *JSObject
ElementNodeTypeId(HTMLFrameElementTypeId) => generate_element!(HTMLFrameElement),
ElementNodeTypeId(HTMLFrameSetElementTypeId) => generate_element!(HTMLFrameSetElement),
ElementNodeTypeId(HTMLHeadElementTypeId) => generate_element!(HTMLHeadElement),
+ ElementNodeTypeId(HTMLHeadingElementTypeId) => generate_element!(HTMLHeadingElement),
ElementNodeTypeId(HTMLHRElementTypeId) => generate_element!(HTMLHRElement),
ElementNodeTypeId(HTMLHtmlElementTypeId) => generate_element!(HTMLHtmlElement),
ElementNodeTypeId(HTMLIframeElementTypeId) => generate_element!(HTMLIFrameElement),
diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs
index 23e9c2fc59d..56095467bf7 100644
--- a/src/components/script/dom/element.rs
+++ b/src/components/script/dom/element.rs
@@ -13,7 +13,7 @@ use dom::bindings::codegen::{HTMLAnchorElementBinding, HTMLAppletElementBinding,
HTMLDivElementBinding, HTMLEmbedElementBinding,
HTMLFieldSetElementBinding, HTMLFontElementBinding,
HTMLFrameElementBinding, HTMLFrameSetElementBinding,
- HTMLHeadElementBinding,
+ HTMLHeadElementBinding, HTMLHeadingElementBinding,
HTMLHRElementBinding, HTMLHtmlElementBinding,
HTMLIFrameElementBinding, HTMLImageElementBinding,
HTMLInputElementBinding, HTMLLIElementBinding,
@@ -49,6 +49,7 @@ use dom::htmlfieldsetelement::HTMLFieldSetElement;
use dom::htmlfontelement::HTMLFontElement;
use dom::htmlframeelement::HTMLFrameElement;
use dom::htmlframesetelement::HTMLFrameSetElement;
+use dom::htmlheadingelement::HTMLHeadingElement;
use dom::htmlhrelement::HTMLHRElement;
use dom::htmliframeelement::HTMLIFrameElement;
use dom::htmlimageelement::HTMLImageElement;
@@ -272,6 +273,8 @@ generate_cacheable_wrapper!(HTMLFieldSetElement, HTMLFieldSetElementBinding::Wra
generate_binding_object!(HTMLFieldSetElement)
generate_cacheable_wrapper!(HTMLFontElement, HTMLFontElementBinding::Wrap)
generate_binding_object!(HTMLFontElement)
+generate_cacheable_wrapper!(HTMLHeadingElement, HTMLHeadingElementBinding::Wrap)
+generate_binding_object!(HTMLHeadingElement)
generate_cacheable_wrapper!(HTMLIFrameElement, HTMLIFrameElementBinding::Wrap)
generate_binding_object!(HTMLIFrameElement)
generate_cacheable_wrapper!(HTMLImageElement, HTMLImageElementBinding::Wrap)
@@ -322,15 +325,6 @@ generate_cacheable_wrapper!(HTMLUListElement, HTMLUListElementBinding::Wrap)
generate_binding_object!(HTMLUListElement)
//
-// Fancier elements
-//
-
-pub struct HTMLHeadingElement {
- parent: HTMLElement,
- level: HeadingLevel,
-}
-
-//
// Element methods
//
@@ -624,12 +618,3 @@ impl Attr {
}
}
}
-
-pub enum HeadingLevel {
- Heading1,
- Heading2,
- Heading3,
- Heading4,
- Heading5,
- Heading6,
-}
diff --git a/src/components/script/dom/htmlheadingelement.rs b/src/components/script/dom/htmlheadingelement.rs
new file mode 100644
index 00000000000..d94bd06dab4
--- /dev/null
+++ b/src/components/script/dom/htmlheadingelement.rs
@@ -0,0 +1,29 @@
+/* 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};
+use dom::htmlelement::HTMLElement;
+
+pub enum HeadingLevel {
+ Heading1,
+ Heading2,
+ Heading3,
+ Heading4,
+ Heading5,
+ Heading6,
+}
+
+pub struct HTMLHeadingElement {
+ parent: HTMLElement,
+ level: HeadingLevel,
+}
+
+impl HTMLHeadingElement {
+ pub fn Align(&self) -> DOMString {
+ null_string
+ }
+
+ pub fn SetAlign(&mut self, _align: &DOMString) {
+ }
+} \ 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 f41f64c8aca..9029bf0c5f1 100644
--- a/src/components/script/html/hubbub_html_parser.rs
+++ b/src/components/script/html/hubbub_html_parser.rs
@@ -24,12 +24,11 @@ use dom::element::{HTMLElementTypeId,
HTMLTimeElementTypeId, HTMLTitleElementTypeId, HTMLUListElementTypeId,
UnknownElementTypeId};
use dom::element::{HTMLDivElement, HTMLFormElement,
- HTMLHeadElement, HTMLHeadingElement, HTMLHtmlElement,
+ HTMLHeadElement, HTMLHtmlElement,
HTMLOptionElement, HTMLParagraphElement,
HTMLSelectElement, HTMLSmallElement,
HTMLSpanElement};
-use dom::element::{HTMLHeadingElementTypeId, Heading1, Heading2, Heading3, Heading4, Heading5,
- Heading6};
+use dom::element::{HTMLHeadingElementTypeId};
use dom::htmlbrelement::HTMLBRElement;
use dom::htmlanchorelement::HTMLAnchorElement;
use dom::htmlappletelement::HTMLAppletElement;
@@ -47,6 +46,8 @@ use dom::htmlfieldsetelement::HTMLFieldSetElement;
use dom::htmlfontelement::HTMLFontElement;
use dom::htmlframeelement::HTMLFrameElement;
use dom::htmlframesetelement::HTMLFrameSetElement;
+use dom::htmlheadingelement::{HTMLHeadingElement, Heading1, Heading2, Heading3, Heading4,
+ Heading5, Heading6};
use dom::htmlhrelement::HTMLHRElement;
use dom::htmliframeelement::{IFrameSize, HTMLIFrameElement};
use dom::htmlimageelement::HTMLImageElement;
diff --git a/src/components/script/script.rc b/src/components/script/script.rc
index 311dbd7c16e..e1b186fe6d8 100644
--- a/src/components/script/script.rc
+++ b/src/components/script/script.rc
@@ -64,6 +64,7 @@ pub mod dom {
pub mod HTMLFrameElementBinding;
pub mod HTMLFrameSetElementBinding;
pub mod HTMLHeadElementBinding;
+ pub mod HTMLHeadingElementBinding;
pub mod HTMLHRElementBinding;
pub mod HTMLHtmlElementBinding;
pub mod HTMLIFrameElementBinding;
@@ -131,6 +132,7 @@ pub mod dom {
pub mod htmlfontelement;
pub mod htmlframeelement;
pub mod htmlframesetelement;
+ pub mod htmlheadingelement;
pub mod htmlhrelement;
pub mod htmliframeelement;
pub mod htmlimageelement;