aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/htmlimageelement.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/script/dom/htmlimageelement.rs')
-rw-r--r--src/components/script/dom/htmlimageelement.rs19
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 {