Make network listener runnable cancellable

This commit is contained in:
Connor Brewster 2016-07-05 14:45:09 -06:00
parent b9af49f120
commit 315ffe7677
6 changed files with 21 additions and 5 deletions

View file

@ -226,6 +226,7 @@ impl HTMLLinkElement {
let listener = NetworkListener {
context: context,
script_chan: document.window().networking_task_source(),
wrapper: Some(document.window().get_runnable_wrapper()),
};
let response_target = AsyncResponseTarget {
sender: action_sender,

View file

@ -473,10 +473,12 @@ impl HTMLMediaElement {
// 4.2
let context = Arc::new(Mutex::new(HTMLMediaElementContext::new(self, url.clone())));
let (action_sender, action_receiver) = ipc::channel().unwrap();
let script_chan = window_from_node(self).networking_task_source();
let window = window_from_node(self);
let script_chan = window.networking_task_source();
let listener = box NetworkListener {
context: context,
script_chan: script_chan,
wrapper: Some(window.get_runnable_wrapper()),
};
let response_target = AsyncResponseTarget {

View file

@ -308,6 +308,7 @@ impl HTMLScriptElement {
let listener = NetworkListener {
context: context,
script_chan: doc.window().networking_task_source(),
wrapper: Some(doc.window().get_runnable_wrapper()),
};
let response_target = AsyncResponseTarget {
sender: action_sender,

View file

@ -258,6 +258,7 @@ impl XMLHttpRequest {
let listener = NetworkListener {
context: context,
script_chan: script_chan,
wrapper: None,
};
ROUTER.add_route(action_receiver.to_opaque(), box move |message| {
listener.notify_fetch(message.to().unwrap());