aboutsummaryrefslogtreecommitdiffstats
path: root/components/net/resource_task.rs
diff options
context:
space:
mode:
authorNova Fallen <nfallen@seas.upenn.edu>2015-12-02 23:54:24 -0500
committerNova Fallen <nfallen@seas.upenn.edu>2015-12-08 02:04:40 -0500
commite8c8277f34f35ee23f70568c4f725a1ffcc0f66b (patch)
treeda9d122b957072283a926b27cae8e61b04a379e5 /components/net/resource_task.rs
parent9f9d3570fc27d08e2afff2b90444956c3c5a66a4 (diff)
downloadservo-e8c8277f34f35ee23f70568c4f725a1ffcc0f66b.tar.gz
servo-e8c8277f34f35ee23f70568c4f725a1ffcc0f66b.zip
move websocket creation to resource task
Diffstat (limited to 'components/net/resource_task.rs')
-rw-r--r--components/net/resource_task.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/components/net/resource_task.rs b/components/net/resource_task.rs
index d5e0e273b5e..4599e8dd1d5 100644
--- a/components/net/resource_task.rs
+++ b/components/net/resource_task.rs
@@ -20,6 +20,7 @@ use mime_classifier::{ApacheBugFlag, MIMEClassifier, NoSniffFlag};
use net_traits::ProgressMsg::Done;
use net_traits::{AsyncResponseTarget, Metadata, ProgressMsg, ResourceTask, ResponseAction};
use net_traits::{ControlMsg, CookieSource, LoadConsumer, LoadData, LoadResponse, ResourceId};
+use net_traits::{WebSocketCommunicate, WebSocketConnectData};
use std::borrow::ToOwned;
use std::boxed::FnBox;
use std::cell::Cell;
@@ -29,6 +30,7 @@ use std::sync::{Arc, RwLock};
use url::Url;
use util::opts;
use util::task::spawn_named;
+use websocket_loader;
pub enum ProgressSender {
Channel(IpcSender<ProgressMsg>),
@@ -174,6 +176,8 @@ impl ResourceChannelManager {
match self.from_client.recv().unwrap() {
ControlMsg::Load(load_data, consumer, id_sender) =>
self.resource_manager.load(load_data, consumer, id_sender, control_sender.clone()),
+ ControlMsg::WebsocketConnect(connect, connect_data) =>
+ self.resource_manager.websocket_connect(connect, connect_data),
ControlMsg::SetCookiesForUrl(request, cookie_list, source) =>
self.resource_manager.set_cookies_for_url(request, cookie_list, source),
ControlMsg::GetCookiesForUrl(url, consumer, source) => {
@@ -350,4 +354,10 @@ impl ResourceManager {
self.mime_classifier.clone(),
cancel_listener));
}
+
+ fn websocket_connect(&self,
+ connect: WebSocketCommunicate,
+ connect_data: WebSocketConnectData) {
+ websocket_loader::init(connect, connect_data);
+ }
}