diff options
-rw-r--r-- | src/components/script/dom/bindings/codegen/Bindings.conf | 3 | ||||
-rw-r--r-- | src/components/script/dom/bindings/codegen/HTMLOptGroupElement.webidl | 19 | ||||
-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/htmloptgroupelement.rs | 26 | ||||
-rw-r--r-- | src/components/script/html/hubbub_html_parser.rs | 1 | ||||
-rw-r--r-- | src/components/script/script.rc | 1 |
8 files changed, 53 insertions, 1 deletions
diff --git a/src/components/script/dom/bindings/codegen/Bindings.conf b/src/components/script/dom/bindings/codegen/Bindings.conf index fc4d48cfb7d..3b40c34476e 100644 --- a/src/components/script/dom/bindings/codegen/Bindings.conf +++ b/src/components/script/dom/bindings/codegen/Bindings.conf @@ -589,6 +589,7 @@ addHTMLElement('HTMLMeterElement') addHTMLElement('HTMLModElement') addHTMLElement('HTMLObjectElement') addHTMLElement('HTMLOListElement') +addHTMLElement('HTMLOptGroupElement') addHTMLElement('HTMLParagraphElement') addHTMLElement('HTMLProgressElement') addHTMLElement('HTMLQuoteElement') @@ -615,7 +616,7 @@ def addExternalHTMLElement(element): headerFile=nativeElement + '.h') addExternalHTMLElement('HTMLOptionElement') -addExternalHTMLElement('HTMLOptGroupElement') +#addExternalHTMLElement('HTMLOptGroupElement') addExternalHTMLElement('HTMLVideoElement') addExternalIface('CanvasGradient', headerFile='nsIDOMCanvasRenderingContext2D.h') addExternalIface('CanvasPattern', headerFile='nsIDOMCanvasRenderingContext2D.h') diff --git a/src/components/script/dom/bindings/codegen/HTMLOptGroupElement.webidl b/src/components/script/dom/bindings/codegen/HTMLOptGroupElement.webidl new file mode 100644 index 00000000000..a23aee30d1d --- /dev/null +++ b/src/components/script/dom/bindings/codegen/HTMLOptGroupElement.webidl @@ -0,0 +1,19 @@ +/* -*- 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-optgroup-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. + */ + +interface HTMLOptGroupElement : HTMLElement { + [SetterThrows] + attribute boolean disabled; + [SetterThrows] + attribute DOMString label; +}; diff --git a/src/components/script/dom/bindings/element.rs b/src/components/script/dom/bindings/element.rs index 2a3b29ca6da..57219659a41 100644 --- a/src/components/script/dom/bindings/element.rs +++ b/src/components/script/dom/bindings/element.rs @@ -401,6 +401,8 @@ generate_cacheable_wrapper!(HTMLObjectElement, HTMLObjectElementBinding::Wrap) generate_binding_object!(HTMLObjectElement) generate_cacheable_wrapper!(HTMLOListElement, HTMLOListElementBinding::Wrap) generate_binding_object!(HTMLOListElement) +generate_cacheable_wrapper!(HTMLOptGroupElement, HTMLOptGroupElementBinding::Wrap) +generate_binding_object!(HTMLOptGroupElement) generate_cacheable_wrapper!(HTMLParagraphElement, HTMLParagraphElementBinding::Wrap) generate_binding_object!(HTMLParagraphElement) generate_cacheable_wrapper!(HTMLProgressElement, HTMLProgressElementBinding::Wrap) diff --git a/src/components/script/dom/bindings/node.rs b/src/components/script/dom/bindings/node.rs index 8ec2ea22636..1b5b5ad5cd2 100644 --- a/src/components/script/dom/bindings/node.rs +++ b/src/components/script/dom/bindings/node.rs @@ -106,6 +106,7 @@ pub fn create(cx: *JSContext, node: &mut AbstractNode<ScriptView>) -> *JSObject ElementNodeTypeId(HTMLModElementTypeId) => generate_element!(HTMLModElement), ElementNodeTypeId(HTMLObjectElementTypeId) => generate_element!(HTMLObjectElement), ElementNodeTypeId(HTMLOListElementTypeId) => generate_element!(HTMLOListElement), + ElementNodeTypeId(HTMLOptGroupElementTypeId) => generate_element!(HTMLOptGroupElement), ElementNodeTypeId(HTMLParagraphElementTypeId) => generate_element!(HTMLParagraphElement), ElementNodeTypeId(HTMLProgressElementTypeId) => generate_element!(HTMLProgressElement), ElementNodeTypeId(HTMLQuoteElementTypeId) => generate_element!(HTMLQuoteElement), diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs index d5b3619d9e5..c91f2c4162a 100644 --- a/src/components/script/dom/element.rs +++ b/src/components/script/dom/element.rs @@ -83,6 +83,7 @@ pub enum ElementTypeId { HTMLObjectElementTypeId, HTMLOListElementTypeId, HTMLOptionElementTypeId, + HTMLOptGroupElementTypeId, HTMLParagraphElementTypeId, HTMLProgressElementTypeId, HTMLQuoteElementTypeId, diff --git a/src/components/script/dom/htmloptgroupelement.rs b/src/components/script/dom/htmloptgroupelement.rs new file mode 100644 index 00000000000..a5beb9155e0 --- /dev/null +++ b/src/components/script/dom/htmloptgroupelement.rs @@ -0,0 +1,26 @@ +/* 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, ErrorResult, null_string}; +use dom::htmlelement::HTMLElement; + +pub struct HTMLOptGroupElement { + parent: HTMLElement +} + +impl HTMLOptGroupElement { + pub fn Disabled(&self) -> bool { + false + } + + pub fn SetDisabled(&mut self, _disabled: bool, _rv: &mut ErrorResult) { + } + + pub fn Label(&self) -> DOMString { + null_string + } + + pub fn SetLabel(&mut self, _label: &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 c29d1942b01..36dc9e00902 100644 --- a/src/components/script/html/hubbub_html_parser.rs +++ b/src/components/script/html/hubbub_html_parser.rs @@ -217,6 +217,7 @@ fn build_element_from_tag(cx: *JSContext, tag: &str) -> AbstractNode<ScriptView> handle_element!(cx, tag, "object", HTMLObjectElementTypeId, HTMLObjectElement, []); handle_element!(cx, tag, "ol", HTMLOListElementTypeId, HTMLOListElement, []); handle_element!(cx, tag, "option", HTMLOptionElementTypeId, HTMLOptionElement, []); + handle_element!(cx, tag, "optgroup",HTMLOptGroupElementTypeId, HTMLOptGroupElement, []); handle_element!(cx, tag, "p", HTMLParagraphElementTypeId, HTMLParagraphElement, []); handle_element!(cx, tag, "progress",HTMLProgressElementTypeId, HTMLProgressElement, []); handle_element!(cx, tag, "q", HTMLQuoteElementTypeId, HTMLQuoteElement, []); diff --git a/src/components/script/script.rc b/src/components/script/script.rc index f2a829f6a99..eae0e3c4cd8 100644 --- a/src/components/script/script.rc +++ b/src/components/script/script.rc @@ -91,6 +91,7 @@ pub mod dom { pub mod htmlmodelement; pub mod htmlobjectelement; pub mod htmlolistelement; + pub mod htmloptgroupelement; pub mod htmlparagraphelement; pub mod htmlprogresselement; pub mod htmlquoteelement; |