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.rs28
1 files changed, 15 insertions, 13 deletions
diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs
index 631dfbec858..371e33d4588 100644
--- a/components/script/dom/window.rs
+++ b/components/script/dom/window.rs
@@ -48,6 +48,7 @@ use std::hash::{Hash, sip};
use std::io::timer::Timer;
use std::ptr;
use std::rc::Rc;
+use std::time::duration::Duration;
use time;
#[deriving(PartialEq, Encodable, Eq)]
@@ -85,7 +86,7 @@ pub struct Window {
pub image_cache_task: ImageCacheTask,
pub active_timers: Traceable<RefCell<HashMap<TimerId, TimerHandle>>>,
next_timer_handle: Traceable<Cell<i32>>,
- pub compositor: Untraceable<Box<ScriptListener>>,
+ pub compositor: Untraceable<Box<ScriptListener+'static>>,
pub browser_context: Traceable<RefCell<Option<BrowserContext>>>,
pub page: Rc<Page>,
performance: Cell<Option<JS<Performance>>>,
@@ -97,7 +98,7 @@ pub struct Window {
impl Window {
pub fn get_cx(&self) -> *mut JSContext {
let js_info = self.page().js_info();
- (**js_info.get_ref().js_context).ptr
+ (**js_info.as_ref().unwrap().js_context).ptr
}
pub fn page<'a>(&'a self) -> &'a Page {
@@ -111,7 +112,7 @@ impl Window {
#[unsafe_destructor]
impl Drop for Window {
fn drop(&mut self) {
- for (_, timer_handle) in self.active_timers.borrow_mut().mut_iter() {
+ for (_, timer_handle) in self.active_timers.borrow_mut().iter_mut() {
timer_handle.cancel();
}
}
@@ -214,7 +215,7 @@ impl<'a> WindowMethods for JSRef<'a, Window> {
fn Document(self) -> Temporary<Document> {
let frame = self.page().frame();
- Temporary::new(frame.get_ref().document.clone())
+ Temporary::new(frame.as_ref().unwrap().document.clone())
}
fn Location(self) -> Temporary<Location> {
@@ -223,7 +224,7 @@ impl<'a> WindowMethods for JSRef<'a, Window> {
let location = Location::new(self, page);
self.location.assign(Some(location));
}
- Temporary::new(self.location.get().get_ref().clone())
+ Temporary::new(self.location.get().as_ref().unwrap().clone())
}
fn Console(self) -> Temporary<Console> {
@@ -231,7 +232,7 @@ impl<'a> WindowMethods for JSRef<'a, Window> {
let console = Console::new(&global::Window(self));
self.console.assign(Some(console));
}
- Temporary::new(self.console.get().get_ref().clone())
+ Temporary::new(self.console.get().as_ref().unwrap().clone())
}
fn Navigator(self) -> Temporary<Navigator> {
@@ -239,7 +240,7 @@ impl<'a> WindowMethods for JSRef<'a, Window> {
let navigator = Navigator::new(self);
self.navigator.assign(Some(navigator));
}
- Temporary::new(self.navigator.get().get_ref().clone())
+ Temporary::new(self.navigator.get().as_ref().unwrap().clone())
}
fn SetTimeout(self, _cx: *mut JSContext, callback: JSVal, timeout: i32) -> i32 {
@@ -287,7 +288,7 @@ impl<'a> WindowMethods for JSRef<'a, Window> {
let performance = Performance::new(self);
self.performance.assign(Some(performance));
}
- Temporary::new(self.performance.get().get_ref().clone())
+ Temporary::new(self.performance.get().as_ref().unwrap().clone())
}
fn GetOnclick(self) -> Option<EventHandlerNonNull> {
@@ -335,7 +336,7 @@ impl<'a> WindowMethods for JSRef<'a, Window> {
let screen = Screen::new(self);
self.screen.assign(Some(screen));
}
- Temporary::new(self.screen.get().get_ref().clone())
+ Temporary::new(self.screen.get().as_ref().unwrap().clone())
}
fn Debug(self, message: DOMString) {
@@ -444,7 +445,7 @@ impl<'a> WindowHelpers for JSRef<'a, Window> {
let mut rval = NullValue();
unsafe {
JS_CallFunctionValue(cx, this_value, *data.funval,
- 0, ptr::mut_null(), &mut rval);
+ 0, ptr::null_mut(), &mut rval);
}
});
@@ -473,10 +474,11 @@ impl<'a> PrivateWindowHelpers for JSRef<'a, Window> {
};
spawn_named(spawn_name, proc() {
let mut tm = tm;
+ let duration = Duration::milliseconds(timeout as i64);
let timeout_port = if is_interval {
- tm.periodic(timeout)
+ tm.periodic(duration)
} else {
- tm.oneshot(timeout)
+ tm.oneshot(duration)
};
let cancel_port = cancel_port;
@@ -519,7 +521,7 @@ impl Window {
page: Rc<Page>,
script_chan: ScriptChan,
control_chan: ScriptControlChan,
- compositor: Box<ScriptListener>,
+ compositor: Box<ScriptListener+'static>,
image_cache_task: ImageCacheTask)
-> Temporary<Window> {
let win = box Window {