diff options
-rw-r--r-- | src/components/script/dom/bindings/codegen/Bindings.conf | 3 | ||||
-rw-r--r-- | src/components/script/dom/bindings/codegen/HTMLOptionElement.webidl | 31 | ||||
-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/htmloptionelement.rs | 63 | ||||
-rw-r--r-- | src/components/script/script.rc | 1 |
7 files changed, 99 insertions, 3 deletions
diff --git a/src/components/script/dom/bindings/codegen/Bindings.conf b/src/components/script/dom/bindings/codegen/Bindings.conf index 3b40c34476e..bd772f12669 100644 --- a/src/components/script/dom/bindings/codegen/Bindings.conf +++ b/src/components/script/dom/bindings/codegen/Bindings.conf @@ -590,6 +590,7 @@ addHTMLElement('HTMLModElement') addHTMLElement('HTMLObjectElement') addHTMLElement('HTMLOListElement') addHTMLElement('HTMLOptGroupElement') +addHTMLElement('HTMLOptionElement') addHTMLElement('HTMLParagraphElement') addHTMLElement('HTMLProgressElement') addHTMLElement('HTMLQuoteElement') @@ -615,8 +616,6 @@ def addExternalHTMLElement(element): addExternalIface(element, nativeType=nativeElement, headerFile=nativeElement + '.h') -addExternalHTMLElement('HTMLOptionElement') -#addExternalHTMLElement('HTMLOptGroupElement') addExternalHTMLElement('HTMLVideoElement') addExternalIface('CanvasGradient', headerFile='nsIDOMCanvasRenderingContext2D.h') addExternalIface('CanvasPattern', headerFile='nsIDOMCanvasRenderingContext2D.h') diff --git a/src/components/script/dom/bindings/codegen/HTMLOptionElement.webidl b/src/components/script/dom/bindings/codegen/HTMLOptionElement.webidl new file mode 100644 index 00000000000..c80bedeef04 --- /dev/null +++ b/src/components/script/dom/bindings/codegen/HTMLOptionElement.webidl @@ -0,0 +1,31 @@ +/* -*- 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-option-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. + */ + +[NamedConstructor=Option(optional DOMString text, optional DOMString value, optional boolean defaultSelected, optional boolean selected)] +interface HTMLOptionElement : HTMLElement { + [SetterThrows] + attribute boolean disabled; + readonly attribute HTMLFormElement? form; + [SetterThrows] + attribute DOMString label; + [SetterThrows] + attribute boolean defaultSelected; + [SetterThrows] + attribute boolean selected; + [SetterThrows] + attribute DOMString value; + + [SetterThrows] + attribute DOMString text; + readonly attribute long index; +}; diff --git a/src/components/script/dom/bindings/element.rs b/src/components/script/dom/bindings/element.rs index 57219659a41..c41940a9ff8 100644 --- a/src/components/script/dom/bindings/element.rs +++ b/src/components/script/dom/bindings/element.rs @@ -403,6 +403,8 @@ generate_cacheable_wrapper!(HTMLOListElement, HTMLOListElementBinding::Wrap) generate_binding_object!(HTMLOListElement) generate_cacheable_wrapper!(HTMLOptGroupElement, HTMLOptGroupElementBinding::Wrap) generate_binding_object!(HTMLOptGroupElement) +generate_cacheable_wrapper!(HTMLOptionElement, HTMLOptionElementBinding::Wrap) +generate_binding_object!(HTMLOptionElement) 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 1b5b5ad5cd2..73d4734837c 100644 --- a/src/components/script/dom/bindings/node.rs +++ b/src/components/script/dom/bindings/node.rs @@ -107,6 +107,7 @@ pub fn create(cx: *JSContext, node: &mut AbstractNode<ScriptView>) -> *JSObject ElementNodeTypeId(HTMLObjectElementTypeId) => generate_element!(HTMLObjectElement), ElementNodeTypeId(HTMLOListElementTypeId) => generate_element!(HTMLOListElement), ElementNodeTypeId(HTMLOptGroupElementTypeId) => generate_element!(HTMLOptGroupElement), + ElementNodeTypeId(HTMLOptionElementTypeId) => generate_element!(HTMLOptionElement), 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 c91f2c4162a..3bd21a60593 100644 --- a/src/components/script/dom/element.rs +++ b/src/components/script/dom/element.rs @@ -110,7 +110,6 @@ pub enum ElementTypeId { // Regular old elements // -pub struct HTMLOptionElement { parent: HTMLElement } pub struct HTMLSelectElement { parent: HTMLElement } pub struct HTMLSmallElement { parent: HTMLElement } pub struct UnknownElement { parent: HTMLElement } diff --git a/src/components/script/dom/htmloptionelement.rs b/src/components/script/dom/htmloptionelement.rs new file mode 100644 index 00000000000..c8453f85747 --- /dev/null +++ b/src/components/script/dom/htmloptionelement.rs @@ -0,0 +1,63 @@ +/* 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; +use dom::node::{AbstractNode, ScriptView}; + +pub struct HTMLOptionElement { + parent: HTMLElement +} + +impl HTMLOptionElement { + pub fn Disabled(&self) -> bool { + false + } + + pub fn SetDisabled(&mut self, _disabled: bool, _rv: &mut ErrorResult) { + } + + pub fn GetForm(&self) -> Option<AbstractNode<ScriptView>> { + None + } + + pub fn Label(&self) -> DOMString { + null_string + } + + pub fn SetLabel(&mut self, _label: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn DefaultSelected(&self) -> bool { + false + } + + pub fn SetDefaultSelected(&mut self, _default_selected: bool, _rv: &mut ErrorResult) { + } + + pub fn Selected(&self) -> bool { + false + } + + pub fn SetSelected(&mut self, _selected: bool, _rv: &mut ErrorResult) { + } + + pub fn Value(&self) -> DOMString { + null_string + } + + pub fn SetValue(&mut self, _value: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn Text(&self) -> DOMString { + null_string + } + + pub fn SetText(&mut self, _text: &DOMString, _rv: &mut ErrorResult) { + } + + pub fn Index(&self) -> i32 { + 0 + } +}
\ No newline at end of file diff --git a/src/components/script/script.rc b/src/components/script/script.rc index eae0e3c4cd8..9f7f9c7131d 100644 --- a/src/components/script/script.rc +++ b/src/components/script/script.rc @@ -92,6 +92,7 @@ pub mod dom { pub mod htmlobjectelement; pub mod htmlolistelement; pub mod htmloptgroupelement; + pub mod htmloptionelement; pub mod htmlparagraphelement; pub mod htmlprogresselement; pub mod htmlquoteelement; |