aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/htmlimageelement.rs
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2014-07-19 18:45:11 +0100
committerSimon Sapin <simon.sapin@exyr.org>2014-07-21 20:22:29 +0100
commit6917fbf28e977f1e1da2e349b8f1685e267eb045 (patch)
tree38ad2d20aeb111fdc4eec3cd6468b9d6415d94b8 /src/components/script/dom/htmlimageelement.rs
parent779cb44a44b195eb7a88e69a4f2e5551f85448e1 (diff)
downloadservo-6917fbf28e977f1e1da2e349b8f1685e267eb045.tar.gz
servo-6917fbf28e977f1e1da2e349b8f1685e267eb045.zip
Used rust-url directly instead of servo_util::url
The latter now only calls the former.
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 dbf3e6cefca..31eb2687aab 100644
--- a/src/components/script/dom/htmlimageelement.rs
+++ b/src/components/script/dom/htmlimageelement.rs
@@ -17,10 +17,9 @@ use dom::node::{Node, ElementNodeTypeId, NodeHelpers, window_from_node};
use dom::virtualmethods::VirtualMethods;
use servo_util::geometry::to_px;
use servo_net::image_cache_task;
-use servo_util::url::parse_url;
use servo_util::str::DOMString;
use std::cell::RefCell;
-use url::Url;
+use url::{Url, UrlParser};
#[deriving(Encodable)]
pub struct HTMLImageElement {
@@ -35,13 +34,13 @@ impl HTMLImageElementDerived for EventTarget {
}
trait PrivateHTMLImageElementHelpers {
- fn update_image(&self, value: Option<DOMString>, url: Option<Url>);
+ fn update_image(&self, value: Option<(DOMString, &Url)>);
}
impl<'a> PrivateHTMLImageElementHelpers for JSRef<'a, HTMLImageElement> {
/// 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(&self, value: Option<DOMString>, url: Option<Url>) {
+ fn update_image(&self, value: Option<(DOMString, &Url)>) {
let node: &JSRef<Node> = NodeCast::from_ref(self);
let document = node.owner_doc().root();
let window = document.deref().window.root();
@@ -50,8 +49,10 @@ impl<'a> PrivateHTMLImageElementHelpers for JSRef<'a, HTMLImageElement> {
None => {
*self.image.deref().borrow_mut() = None;
}
- Some(src) => {
- let img_url = parse_url(src.as_slice(), url);
+ Some((src, base_url)) => {
+ let img_url = UrlParser::new().base_url(base_url).parse(src.as_slice());
+ // FIXME: handle URL parse errors more gracefully.
+ let img_url = img_url.unwrap();
*self.image.deref().borrow_mut() = Some(img_url.clone());
// inform the image cache to load this, but don't store a
@@ -254,8 +255,8 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLImageElement> {
if "src" == name.as_slice() {
let window = window_from_node(self).root();
- let url = Some(window.deref().get_url());
- self.update_image(Some(value), url);
+ let url = window.deref().get_url();
+ self.update_image(Some((value, &url)));
}
}
@@ -266,7 +267,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLImageElement> {
}
if "src" == name.as_slice() {
- self.update_image(None, None);
+ self.update_image(None);
}
}