Add url getter to Page and fix users of Page url with it.(fixes #1762)

This commit is contained in:
lpy 2014-02-27 23:22:48 +08:00
parent 94a12469f0
commit 8fc5ba5dc6
5 changed files with 13 additions and 7 deletions

View file

@ -91,7 +91,7 @@ impl HTMLImageElement {
if "src" == name {
let document = self.htmlelement.element.node.owner_doc();
let window = document.get().window.get();
let url = window.page.url.as_ref().map(|&(ref url, _)| url.clone());
let url = Some(window.get_url());
self.update_image(Some(value), url);
}
}

View file

@ -75,7 +75,7 @@ impl HTMLObjectElement {
if "data" == name {
let document = self.htmlelement.element.node.owner_doc();
let window = document.get().window.clone();
let url = window.get().page.url.as_ref().map(|&(ref url, _)| url.clone());
let url = Some(window.get().get_url());
self.process_data_url(window.get().image_cache_task.clone(), url);
}
}

View file

@ -44,7 +44,7 @@ impl Location {
}
pub fn Href(&self) -> DOMString {
self.page.url.get_ref().first().to_str()
self.page.get_url().to_str()
}
pub fn SetHref(&self, _href: DOMString) -> Fallible<()> {

View file

@ -33,6 +33,7 @@ use std::ptr;
use std::to_bytes::Cb;
use extra::serialize::{Encoder, Encodable};
use extra::url::{Url};
pub enum TimerControlMsg {
TimerMessage_Fire(~TimerData),
@ -96,6 +97,9 @@ impl Window {
pub fn get_cx(&self) -> *JSObject {
self.page.js_info.get_ref().js_compartment.cx.ptr
}
pub fn get_url(&self) -> Url {
self.page.get_url()
}
}
#[unsafe_destructor]