HTMLImageElement attribute getters and setters

This commit is contained in:
Sankha Narayan Guria 2014-04-07 15:11:04 +05:30
parent 7541b57526
commit 58e5feca9f
3 changed files with 65 additions and 56 deletions

View file

@ -166,7 +166,7 @@ addHTMLElement('HTMLHeadingElement')
addHTMLElement('HTMLHtmlElement') addHTMLElement('HTMLHtmlElement')
addHTMLElement('HTMLHRElement') addHTMLElement('HTMLHRElement')
addHTMLElement('HTMLIFrameElement', needsAbstract=['sandbox']) addHTMLElement('HTMLIFrameElement', needsAbstract=['sandbox'])
addHTMLElement('HTMLImageElement', needsAbstract=['src', 'width', 'height']) addHTMLElement('HTMLImageElement', needsAbstract=['alt', 'src', 'useMap', 'isMap', 'width', 'height', 'name', 'align', 'hspace', 'vspace', 'longDesc', 'border'])
addHTMLElement('HTMLInputElement') addHTMLElement('HTMLInputElement')
addHTMLElement('HTMLLabelElement') addHTMLElement('HTMLLabelElement')
addHTMLElement('HTMLLegendElement') addHTMLElement('HTMLLegendElement')

View file

@ -92,22 +92,24 @@ impl HTMLImageElement {
} }
} }
pub fn Alt(&self) -> DOMString { pub fn Alt(&self, abstract_self: &JS<HTMLImageElement>) -> DOMString {
~"" let element: JS<Element> = ElementCast::from(abstract_self);
element.get_string_attribute("alt")
} }
pub fn SetAlt(&mut self, _alt: DOMString) -> ErrorResult { pub fn SetAlt(&mut self, abstract_self: &JS<HTMLImageElement>, alt: DOMString) {
Ok(())
}
pub fn Src(&self, _abstract_self: &JS<HTMLImageElement>) -> DOMString {
~""
}
pub fn SetSrc(&mut self, abstract_self: &mut JS<HTMLImageElement>, src: DOMString) -> ErrorResult {
let mut element: JS<Element> = ElementCast::from(abstract_self); let mut element: JS<Element> = ElementCast::from(abstract_self);
element.set_url_attribute("src", src); element.set_string_attribute("alt", alt)
Ok(()) }
pub fn Src(&self, abstract_self: &JS<HTMLImageElement>) -> DOMString {
let element: JS<Element> = ElementCast::from(abstract_self);
element.get_string_attribute("src")
}
pub fn SetSrc(&mut self, abstract_self: &mut JS<HTMLImageElement>, src: DOMString) {
let mut element: JS<Element> = ElementCast::from(abstract_self);
element.set_url_attribute("src", src)
} }
pub fn CrossOrigin(&self) -> DOMString { pub fn CrossOrigin(&self) -> DOMString {
@ -118,20 +120,24 @@ impl HTMLImageElement {
Ok(()) Ok(())
} }
pub fn UseMap(&self) -> DOMString { pub fn UseMap(&self, abstract_self: &JS<HTMLImageElement>) -> DOMString {
~"" let element: JS<Element> = ElementCast::from(abstract_self);
element.get_string_attribute("useMap")
} }
pub fn SetUseMap(&mut self, _use_map: DOMString) -> ErrorResult { pub fn SetUseMap(&mut self, abstract_self: &mut JS<HTMLImageElement>, use_map: DOMString) {
Ok(()) let mut element: JS<Element> = ElementCast::from(abstract_self);
element.set_string_attribute("useMap", use_map)
} }
pub fn IsMap(&self) -> bool { pub fn IsMap(&self, abstract_self: &JS<HTMLImageElement>) -> bool {
false let element: JS<Element> = ElementCast::from(abstract_self);
from_str::<bool>(element.get_string_attribute("hspace")).unwrap()
} }
pub fn SetIsMap(&self, _is_map: bool) -> ErrorResult { pub fn SetIsMap(&self, abstract_self: &mut JS<HTMLImageElement>, is_map: bool) {
Ok(()) let mut element: JS<Element> = ElementCast::from(abstract_self);
element.set_string_attribute("isMap", is_map.to_str())
} }
pub fn Width(&self, abstract_self: &JS<HTMLImageElement>) -> u32 { pub fn Width(&self, abstract_self: &JS<HTMLImageElement>) -> u32 {
@ -177,52 +183,64 @@ impl HTMLImageElement {
false false
} }
pub fn Name(&self) -> DOMString { pub fn Name(&self, abstract_self: &JS<HTMLImageElement>) -> DOMString {
~"" let element: JS<Element> = ElementCast::from(abstract_self);
element.get_string_attribute("name")
} }
pub fn SetName(&mut self, _name: DOMString) -> ErrorResult { pub fn SetName(&mut self, abstract_self: &mut JS<HTMLImageElement>, name: DOMString) {
Ok(()) let mut element: JS<Element> = ElementCast::from(abstract_self);
element.set_string_attribute("name", name)
} }
pub fn Align(&self) -> DOMString { pub fn Align(&self, abstract_self: &JS<HTMLImageElement>) -> DOMString {
~"" let element: JS<Element> = ElementCast::from(abstract_self);
element.get_string_attribute("longdesc")
} }
pub fn SetAlign(&mut self, _align: DOMString) -> ErrorResult { pub fn SetAlign(&mut self, abstract_self: &mut JS<HTMLImageElement>, align: DOMString) {
Ok(()) let mut element: JS<Element> = ElementCast::from(abstract_self);
element.set_string_attribute("align", align)
} }
pub fn Hspace(&self) -> u32 { pub fn Hspace(&self, abstract_self: &JS<HTMLImageElement>) -> u32 {
0 let element: JS<Element> = ElementCast::from(abstract_self);
from_str::<u32>(element.get_string_attribute("hspace")).unwrap()
} }
pub fn SetHspace(&mut self, _hspace: u32) -> ErrorResult { pub fn SetHspace(&mut self, abstract_self: &mut JS<HTMLImageElement>, hspace: u32) {
Ok(()) let mut element: JS<Element> = ElementCast::from(abstract_self);
element.set_uint_attribute("hspace", hspace)
} }
pub fn Vspace(&self) -> u32 { pub fn Vspace(&self, abstract_self: &JS<HTMLImageElement>) -> u32 {
0 let element: JS<Element> = ElementCast::from(abstract_self);
from_str::<u32>(element.get_string_attribute("vspace")).unwrap()
} }
pub fn SetVspace(&mut self, _vspace: u32) -> ErrorResult { pub fn SetVspace(&mut self, abstract_self: &mut JS<HTMLImageElement>, vspace: u32) {
Ok(()) let mut element: JS<Element> = ElementCast::from(abstract_self);
element.set_uint_attribute("vspace", vspace)
} }
pub fn LongDesc(&self) -> DOMString { pub fn LongDesc(&self, abstract_self: &JS<HTMLImageElement>) -> DOMString {
~"" let element: JS<Element> = ElementCast::from(abstract_self);
element.get_string_attribute("longdesc")
} }
pub fn SetLongDesc(&mut self, _longdesc: DOMString) -> ErrorResult { pub fn SetLongDesc(&mut self, abstract_self: &mut JS<HTMLImageElement>, longdesc: DOMString) {
Ok(()) let mut element: JS<Element> = ElementCast::from(abstract_self);
element.set_string_attribute("longdesc", longdesc)
} }
pub fn Border(&self) -> DOMString { pub fn Border(&self, abstract_self: &JS<HTMLImageElement>) -> DOMString {
~"" let element: JS<Element> = ElementCast::from(abstract_self);
element.get_string_attribute("border")
} }
pub fn SetBorder(&mut self, _border: DOMString) -> ErrorResult { pub fn SetBorder(&mut self, abstract_self: &mut JS<HTMLImageElement>, border: DOMString) {
Ok(()) let mut element: JS<Element> = ElementCast::from(abstract_self);
element.set_string_attribute("border", border)
} }
} }

View file

@ -13,15 +13,11 @@
[NamedConstructor=Image(optional unsigned long width, optional unsigned long height)] [NamedConstructor=Image(optional unsigned long width, optional unsigned long height)]
interface HTMLImageElement : HTMLElement { interface HTMLImageElement : HTMLElement {
[SetterThrows]
attribute DOMString alt; attribute DOMString alt;
[SetterThrows]
attribute DOMString src; attribute DOMString src;
[SetterThrows] [SetterThrows]
attribute DOMString crossOrigin; attribute DOMString crossOrigin;
[SetterThrows]
attribute DOMString useMap; attribute DOMString useMap;
[SetterThrows]
attribute boolean isMap; attribute boolean isMap;
attribute unsigned long width; attribute unsigned long width;
attribute unsigned long height; attribute unsigned long height;
@ -32,16 +28,11 @@ interface HTMLImageElement : HTMLElement {
// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis // http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
partial interface HTMLImageElement { partial interface HTMLImageElement {
[SetterThrows]
attribute DOMString name; attribute DOMString name;
[SetterThrows]
attribute DOMString align; attribute DOMString align;
[SetterThrows]
attribute unsigned long hspace; attribute unsigned long hspace;
[SetterThrows]
attribute unsigned long vspace; attribute unsigned long vspace;
[SetterThrows]
attribute DOMString longDesc; attribute DOMString longDesc;
[TreatNullAs=EmptyString,SetterThrows] attribute DOMString border; [TreatNullAs=EmptyString] attribute DOMString border;
}; };