aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/window.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/window.rs')
-rw-r--r--components/script/dom/window.rs16
1 files changed, 7 insertions, 9 deletions
diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs
index 21afb9e59af..7b7cc679461 100644
--- a/components/script/dom/window.rs
+++ b/components/script/dom/window.rs
@@ -52,7 +52,7 @@ use time;
#[dom_struct]
pub struct Window {
eventtarget: EventTarget,
- script_chan: ScriptChan,
+ script_chan: Box<ScriptChan+Send>,
control_chan: ScriptControlChan,
console: MutNullableJS<Console>,
location: MutNullableJS<Location>,
@@ -75,8 +75,8 @@ impl Window {
(*js_info.as_ref().unwrap().js_context).ptr
}
- pub fn script_chan<'a>(&'a self) -> &'a ScriptChan {
- &self.script_chan
+ pub fn script_chan(&self) -> Box<ScriptChan+Send> {
+ self.script_chan.clone()
}
pub fn control_chan<'a>(&'a self) -> &'a ScriptControlChan {
@@ -189,8 +189,7 @@ impl<'a> WindowMethods for JSRef<'a, Window> {
}
fn Close(self) {
- let ScriptChan(ref chan) = self.script_chan;
- chan.send(ScriptMsg::ExitWindow(self.page.id.clone()));
+ self.script_chan.send(ScriptMsg::ExitWindow(self.page.id.clone()));
}
fn Document(self) -> Temporary<Document> {
@@ -342,11 +341,10 @@ impl<'a> WindowHelpers for JSRef<'a, Window> {
let url = UrlParser::new().base_url(&base_url).parse(href.as_slice());
// FIXME: handle URL parse errors more gracefully.
let url = url.unwrap();
- let ScriptChan(ref script_chan) = self.script_chan;
if href.as_slice().starts_with("#") {
- script_chan.send(ScriptMsg::TriggerFragment(self.page.id, url));
+ self.script_chan.send(ScriptMsg::TriggerFragment(self.page.id, url));
} else {
- script_chan.send(ScriptMsg::TriggerLoad(self.page.id, LoadData::new(url)));
+ self.script_chan.send(ScriptMsg::TriggerLoad(self.page.id, LoadData::new(url)));
}
}
@@ -359,7 +357,7 @@ impl<'a> WindowHelpers for JSRef<'a, Window> {
impl Window {
pub fn new(cx: *mut JSContext,
page: Rc<Page>,
- script_chan: ScriptChan,
+ script_chan: Box<ScriptChan+Send>,
control_chan: ScriptControlChan,
compositor: Box<ScriptListener+'static>,
image_cache_task: ImageCacheTask)