mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
XHR timeouts use same abstraction as scripts timers. (fixes #3396)
This commit is contained in:
parent
13226f8472
commit
d27a3244f2
6 changed files with 139 additions and 49 deletions
|
@ -55,7 +55,7 @@ use profile_traits::mem;
|
|||
use rustc_serialize::base64::{FromBase64, STANDARD, ToBase64};
|
||||
use script_task::{ScriptChan, ScriptPort, MainThreadScriptMsg, RunnableWrapper};
|
||||
use script_task::{SendableMainThreadScriptChan, MainThreadScriptChan, MainThreadTimerEventChan};
|
||||
use script_traits::{TimerEventChan, TimerEventId, TimerEventRequest, TimerSource};
|
||||
use script_traits::{MsDuration, TimerEventChan, TimerEventId, TimerEventRequest, TimerSource};
|
||||
use selectors::parser::PseudoElement;
|
||||
use std::ascii::AsciiExt;
|
||||
use std::borrow::ToOwned;
|
||||
|
@ -71,7 +71,7 @@ use std::sync::mpsc::TryRecvError::{Disconnected, Empty};
|
|||
use std::sync::mpsc::{Sender, channel};
|
||||
use string_cache::Atom;
|
||||
use time;
|
||||
use timers::{ActiveTimers, IsInterval, TimerCallback};
|
||||
use timers::{ActiveTimers, IsInterval, ScheduledCallback, TimerCallback, TimerHandle};
|
||||
use url::Url;
|
||||
use util::geometry::{self, MAX_RECT};
|
||||
use util::str::{DOMString, HTML_SPACE_CHARACTERS};
|
||||
|
@ -1083,6 +1083,16 @@ impl Window {
|
|||
self.scheduler_chan.clone()
|
||||
}
|
||||
|
||||
pub fn schedule_callback(&self, callback: Box<ScheduledCallback>, duration: MsDuration) -> TimerHandle {
|
||||
self.timers.schedule_callback(callback,
|
||||
duration,
|
||||
TimerSource::FromWindow(self.id.clone()))
|
||||
}
|
||||
|
||||
pub fn unschedule_callback(&self, handle: TimerHandle) {
|
||||
self.timers.unschedule_callback(handle);
|
||||
}
|
||||
|
||||
pub fn windowproxy_handler(&self) -> WindowProxyHandler {
|
||||
WindowProxyHandler(self.dom_static.windowproxy_handler.0)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue