aboutsummaryrefslogtreecommitdiffstats
path: root/components/net/resource_thread.rs
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2017-10-25 09:00:41 -0500
committerGitHub <noreply@github.com>2017-10-25 09:00:41 -0500
commita69e33366e4333f1de3502e5d706d79f4f843b00 (patch)
treeaf6322109d4017c28d6acb48f81b9490f9ab0a9c /components/net/resource_thread.rs
parenta347e8d6d332015a5d9c71faaf13b4c1a8fe9fcd (diff)
parent99f9696a24ece562f74831dbde957af1149eb9eb (diff)
downloadservo-a69e33366e4333f1de3502e5d706d79f4f843b00.tar.gz
servo-a69e33366e4333f1de3502e5d706d79f4f843b00.zip
Auto merge of #18871 - KiChjang:websocket-fetch-integration, r=avadacatavra
Merge functionality of WebsocketConnect into Fetch Partial #14897. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18871) <!-- Reviewable:end -->
Diffstat (limited to 'components/net/resource_thread.rs')
-rw-r--r--components/net/resource_thread.rs29
1 files changed, 18 insertions, 11 deletions
diff --git a/components/net/resource_thread.rs b/components/net/resource_thread.rs
index 8d1c3b75764..9e1a3c9eee7 100644
--- a/components/net/resource_thread.rs
+++ b/components/net/resource_thread.rs
@@ -16,9 +16,9 @@ use http_loader::{HttpState, http_redirect_fetch};
use hyper_serde::Serde;
use ipc_channel::ipc::{self, IpcReceiver, IpcReceiverSet, IpcSender};
use net_traits::{CookieSource, CoreResourceThread};
-use net_traits::{CoreResourceMsg, FetchResponseMsg};
+use net_traits::{CoreResourceMsg, FetchChannels, FetchResponseMsg};
use net_traits::{CustomResponseMediator, ResourceId};
-use net_traits::{ResourceThreads, WebSocketCommunicate, WebSocketConnectData};
+use net_traits::{ResourceThreads, WebSocketDomAction, WebSocketNetworkEvent};
use net_traits::request::{Request, RequestInit};
use net_traits::response::{Response, ResponseInit};
use net_traits::storage_thread::StorageThreadMsg;
@@ -155,12 +155,16 @@ impl ResourceChannelManager {
msg: CoreResourceMsg,
http_state: &Arc<HttpState>) -> bool {
match msg {
- CoreResourceMsg::Fetch(req_init, sender) =>
- self.resource_manager.fetch(req_init, None, sender, http_state),
+ CoreResourceMsg::Fetch(req_init, channels) => {
+ match channels {
+ FetchChannels::ResponseMsg(sender) =>
+ self.resource_manager.fetch(req_init, None, sender, http_state),
+ FetchChannels::WebSocket { event_sender, action_receiver } =>
+ self.resource_manager.websocket_connect(req_init, event_sender, action_receiver, http_state),
+ }
+ }
CoreResourceMsg::FetchRedirect(req_init, res_init, sender) =>
self.resource_manager.fetch(req_init, Some(res_init), sender, http_state),
- CoreResourceMsg::WebsocketConnect(connect, connect_data) =>
- self.resource_manager.websocket_connect(connect, connect_data, http_state),
CoreResourceMsg::SetCookieForUrl(request, cookie, source) =>
self.resource_manager.set_cookie_for_url(&request, cookie.into_inner(), source, http_state),
CoreResourceMsg::SetCookiesForUrl(request, cookies, source) => {
@@ -360,10 +364,13 @@ impl CoreResourceManager {
}).expect("Thread spawning failed");
}
- fn websocket_connect(&self,
- connect: WebSocketCommunicate,
- connect_data: WebSocketConnectData,
- http_state: &Arc<HttpState>) {
- websocket_loader::init(connect, connect_data, http_state.clone());
+ fn websocket_connect(
+ &self,
+ request: RequestInit,
+ event_sender: IpcSender<WebSocketNetworkEvent>,
+ action_receiver: IpcReceiver<WebSocketDomAction>,
+ http_state: &Arc<HttpState>
+ ) {
+ websocket_loader::init(request, event_sender, action_receiver, http_state.clone());
}
}