diff options
Diffstat (limited to 'src/components/script/dom/htmlimageelement.rs')
-rw-r--r-- | src/components/script/dom/htmlimageelement.rs | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/components/script/dom/htmlimageelement.rs b/src/components/script/dom/htmlimageelement.rs index 5f2566ed089..861b8ca5633 100644 --- a/src/components/script/dom/htmlimageelement.rs +++ b/src/components/script/dom/htmlimageelement.rs @@ -19,12 +19,12 @@ use servo_net::image_cache_task; use servo_util::url::parse_url; use servo_util::str::DOMString; -use extra::serialize::{Encoder, Encodable}; +use serialize::{Encoder, Encodable}; #[deriving(Encodable)] pub struct HTMLImageElement { htmlelement: HTMLElement, - extra: Untraceable, + priv extra: Untraceable, } struct Untraceable { @@ -62,6 +62,10 @@ impl HTMLImageElement { } impl HTMLImageElement { + pub fn image<'a>(&'a self) -> &'a Option<Url> { + &self.extra.image + } + /// Makes the local `image` member match the status of the `src` attribute and starts /// prefetching the image. This method must be called after `src` is changed. fn update_image(&mut self, value: Option<DOMString>, url: Option<Url>) { @@ -89,7 +93,7 @@ impl HTMLImageElement { pub fn AfterSetAttr(&mut self, name: DOMString, value: DOMString) { if "src" == name { - let document = self.htmlelement.element.node.owner_doc(); + let document = self.htmlelement.element.node.owner_doc().clone(); let window = document.get().window.get(); let url = Some(window.get_url()); self.update_image(Some(value), url); @@ -116,8 +120,7 @@ impl HTMLImageElement { pub fn SetSrc(&mut self, abstract_self: &JS<HTMLImageElement>, src: DOMString) -> ErrorResult { let node = &mut self.htmlelement.element; - node.set_attr(&ElementCast::from(abstract_self), ~"src", src.clone()); - Ok(()) + node.set_attr(&ElementCast::from(abstract_self), ~"src", src.clone()) } pub fn CrossOrigin(&self) -> DOMString { @@ -160,8 +163,7 @@ impl HTMLImageElement { pub fn SetWidth(&mut self, abstract_self: &JS<HTMLImageElement>, width: u32) -> ErrorResult { let mut elem: JS<Element> = ElementCast::from(abstract_self); let mut elem_clone = elem.clone(); - elem.get_mut().set_attr(&mut elem_clone, ~"width", width.to_str()); - Ok(()) + elem.get_mut().set_attr(&mut elem_clone, ~"width", width.to_str()) } pub fn Height(&self, abstract_self: &JS<HTMLImageElement>) -> u32 { @@ -180,8 +182,7 @@ impl HTMLImageElement { pub fn SetHeight(&mut self, abstract_self: &JS<HTMLImageElement>, height: u32) -> ErrorResult { let node = &mut self.htmlelement.element; - node.set_attr(&ElementCast::from(abstract_self), ~"height", height.to_str()); - Ok(()) + node.set_attr(&ElementCast::from(abstract_self), ~"height", height.to_str()) } pub fn NaturalWidth(&self) -> u32 { |