diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2017-10-25 09:00:41 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-25 09:00:41 -0500 |
commit | a69e33366e4333f1de3502e5d706d79f4f843b00 (patch) | |
tree | af6322109d4017c28d6acb48f81b9490f9ab0a9c /components/net/resource_thread.rs | |
parent | a347e8d6d332015a5d9c71faaf13b4c1a8fe9fcd (diff) | |
parent | 99f9696a24ece562f74831dbde957af1149eb9eb (diff) | |
download | servo-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.rs | 29 |
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()); } } |