diff options
-rw-r--r-- | src/components/script/dom/bindings/codegen/Bindings.conf | 1 | ||||
-rw-r--r-- | src/components/script/dom/bindings/codegen/HTMLLabelElement.webidl | 24 | ||||
-rw-r--r-- | src/components/script/dom/bindings/element.rs | 2 | ||||
-rw-r--r-- | src/components/script/dom/bindings/node.rs | 1 | ||||
-rw-r--r-- | src/components/script/dom/element.rs | 1 | ||||
-rw-r--r-- | src/components/script/dom/htmllabelelement.rs | 19 | ||||
-rw-r--r-- | src/components/script/html/hubbub_html_parser.rs | 1 | ||||
-rw-r--r-- | src/components/script/script.rc | 1 |
8 files changed, 50 insertions, 0 deletions
diff --git a/src/components/script/dom/bindings/codegen/Bindings.conf b/src/components/script/dom/bindings/codegen/Bindings.conf index d29f8e3222f..15c1fad3297 100644 --- a/src/components/script/dom/bindings/codegen/Bindings.conf +++ b/src/components/script/dom/bindings/codegen/Bindings.conf @@ -580,6 +580,7 @@ addHTMLElement('HTMLHRElement') addHTMLElement('HTMLIFrameElement') addHTMLElement('HTMLImageElement') addHTMLElement('HTMLInputElement') +addHTMLElement('HTMLLabelElement') addHTMLElement('HTMLLegendElement') addHTMLElement('HTMLLIElement') addHTMLElement('HTMLLinkElement') diff --git a/src/components/script/dom/bindings/codegen/HTMLLabelElement.webidl b/src/components/script/dom/bindings/codegen/HTMLLabelElement.webidl new file mode 100644 index 00000000000..0b0ee0b9d19 --- /dev/null +++ b/src/components/script/dom/bindings/codegen/HTMLLabelElement.webidl @@ -0,0 +1,24 @@ +/* -*- 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/ + * + * © 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. + */ + +// import from http://mxr.mozilla.org/mozilla-central/source/dom/webidl/ + +interface HTMLLabelElement : HTMLElement { +/* FIXME: + readonly attribute HTMLFormElement? form; +*/ + attribute DOMString htmlFor; +/* + readonly attribute HTMLElement? control; +*/ +}; diff --git a/src/components/script/dom/bindings/element.rs b/src/components/script/dom/bindings/element.rs index 95eae0bc7e3..805dea3d2fe 100644 --- a/src/components/script/dom/bindings/element.rs +++ b/src/components/script/dom/bindings/element.rs @@ -92,6 +92,8 @@ generate_cacheable_wrapper!(HTMLImageElement, HTMLImageElementBinding::Wrap) generate_binding_object!(HTMLImageElement) generate_cacheable_wrapper!(HTMLInputElement, HTMLInputElementBinding::Wrap) generate_binding_object!(HTMLInputElement) +generate_cacheable_wrapper!(HTMLLabelElement, HTMLLabelElementBinding::Wrap) +generate_binding_object!(HTMLLabelElement) generate_cacheable_wrapper!(HTMLLegendElement, HTMLLegendElementBinding::Wrap) generate_binding_object!(HTMLLegendElement) generate_cacheable_wrapper!(HTMLLIElement, HTMLLIElementBinding::Wrap) diff --git a/src/components/script/dom/bindings/node.rs b/src/components/script/dom/bindings/node.rs index 39260bb3ae6..9e210bfee35 100644 --- a/src/components/script/dom/bindings/node.rs +++ b/src/components/script/dom/bindings/node.rs @@ -49,6 +49,7 @@ pub fn create(cx: *JSContext, node: &mut AbstractNode<ScriptView>) -> *JSObject ElementNodeTypeId(HTMLIframeElementTypeId) => generate_element!(HTMLIFrameElement), ElementNodeTypeId(HTMLImageElementTypeId) => generate_element!(HTMLImageElement), ElementNodeTypeId(HTMLInputElementTypeId) => generate_element!(HTMLInputElement), + ElementNodeTypeId(HTMLLabelElementTypeId) => generate_element!(HTMLLabelElement), ElementNodeTypeId(HTMLLegendElementTypeId) => generate_element!(HTMLLegendElement), ElementNodeTypeId(HTMLLIElementTypeId) => generate_element!(HTMLLIElement), ElementNodeTypeId(HTMLLinkElementTypeId) => generate_element!(HTMLLinkElement), diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs index 038494c8d36..aca3ae0df2b 100644 --- a/src/components/script/dom/element.rs +++ b/src/components/script/dom/element.rs @@ -73,6 +73,7 @@ pub enum ElementTypeId { HTMLIframeElementTypeId, HTMLImageElementTypeId, HTMLInputElementTypeId, + HTMLLabelElementTypeId, HTMLLegendElementTypeId, HTMLLinkElementTypeId, HTMLLIElementTypeId, diff --git a/src/components/script/dom/htmllabelelement.rs b/src/components/script/dom/htmllabelelement.rs new file mode 100644 index 00000000000..1df3924cff2 --- /dev/null +++ b/src/components/script/dom/htmllabelelement.rs @@ -0,0 +1,19 @@ +/* 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 struct HTMLLabelElement { + parent: HTMLElement, +} + +impl HTMLLabelElement { + pub fn HtmlFor(&self) -> DOMString { + null_string + } + + pub fn SetHtmlFor(&mut self, _html_for: &DOMString) { + } +} diff --git a/src/components/script/html/hubbub_html_parser.rs b/src/components/script/html/hubbub_html_parser.rs index e01562f6f32..4587a46e4f5 100644 --- a/src/components/script/html/hubbub_html_parser.rs +++ b/src/components/script/html/hubbub_html_parser.rs @@ -208,6 +208,7 @@ fn build_element_from_tag(cx: *JSContext, tag: &str) -> AbstractNode<ScriptView> handle_element!(cx, tag, "head", HTMLHeadElementTypeId, HTMLHeadElement, []); handle_element!(cx, tag, "html", HTMLHtmlElementTypeId, HTMLHtmlElement, []); handle_element!(cx, tag, "input", HTMLInputElementTypeId, HTMLInputElement, []); + handle_element!(cx, tag, "label", HTMLLabelElementTypeId, HTMLLabelElement, []); handle_element!(cx, tag, "legend", HTMLLegendElementTypeId, HTMLLegendElement, []); handle_element!(cx, tag, "link", HTMLLinkElementTypeId, HTMLLinkElement, []); handle_element!(cx, tag, "li", HTMLLIElementTypeId, HTMLLIElement, []); diff --git a/src/components/script/script.rc b/src/components/script/script.rc index 8f47fe00362..b30cb5573d6 100644 --- a/src/components/script/script.rc +++ b/src/components/script/script.rc @@ -84,6 +84,7 @@ pub mod dom { pub mod htmliframeelement; pub mod htmlimageelement; pub mod htmlinputelement; + pub mod htmllabelelement; pub mod htmllegendelement; pub mod htmllielement; pub mod htmllinkelement; |