diff options
author | Keith Yeung <kungfukeith11@gmail.com> | 2017-10-11 22:32:48 -0700 |
---|---|---|
committer | Keith Yeung <kungfukeith11@gmail.com> | 2017-10-24 20:54:19 -0700 |
commit | 99f9696a24ece562f74831dbde957af1149eb9eb (patch) | |
tree | 2b497025152d2946b539ae0088f5635443a88296 /components/net_traits/lib.rs | |
parent | a65253a11aea13bb7cf26aabdcbac41c02d36f68 (diff) | |
download | servo-99f9696a24ece562f74831dbde957af1149eb9eb.tar.gz servo-99f9696a24ece562f74831dbde957af1149eb9eb.zip |
Merge functionality of WebsocketConnect into Fetch
Diffstat (limited to 'components/net_traits/lib.rs')
-rw-r--r-- | components/net_traits/lib.rs | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/components/net_traits/lib.rs b/components/net_traits/lib.rs index 0c0b1148b7a..b6e6a447f78 100644 --- a/components/net_traits/lib.rs +++ b/components/net_traits/lib.rs @@ -340,25 +340,20 @@ pub enum WebSocketNetworkEvent { } #[derive(Deserialize, Serialize)] -pub struct WebSocketCommunicate { - pub event_sender: IpcSender<WebSocketNetworkEvent>, - pub action_receiver: IpcReceiver<WebSocketDomAction>, -} - -#[derive(Deserialize, Serialize)] -pub struct WebSocketConnectData { - pub resource_url: ServoUrl, - pub origin: String, - pub protocols: Vec<String>, +/// IPC channels to communicate with the script thread about network or DOM events. +pub enum FetchChannels { + ResponseMsg(IpcSender<FetchResponseMsg>), + WebSocket { + event_sender: IpcSender<WebSocketNetworkEvent>, + action_receiver: IpcReceiver<WebSocketDomAction>, + } } #[derive(Deserialize, Serialize)] pub enum CoreResourceMsg { - Fetch(RequestInit, IpcSender<FetchResponseMsg>), + Fetch(RequestInit, FetchChannels), /// Initiate a fetch in response to processing a redirection FetchRedirect(RequestInit, ResponseInit, IpcSender<FetchResponseMsg>), - /// Try to make a websocket connection to a URL. - WebsocketConnect(WebSocketCommunicate, WebSocketConnectData), /// Store a cookie for a given originating URL SetCookieForUrl(ServoUrl, Serde<Cookie<'static>>, CookieSource), /// Store a set of cookies for a given originating URL @@ -387,7 +382,8 @@ pub fn fetch_async<F>(request: RequestInit, core_resource_thread: &CoreResourceT let (action_sender, action_receiver) = ipc::channel().unwrap(); ROUTER.add_route(action_receiver.to_opaque(), Box::new(move |message| f(message.to().unwrap()))); - core_resource_thread.send(CoreResourceMsg::Fetch(request, action_sender)).unwrap(); + core_resource_thread.send( + CoreResourceMsg::Fetch(request, FetchChannels::ResponseMsg(action_sender))).unwrap(); } #[derive(Clone, Deserialize, MallocSizeOf, Serialize)] @@ -481,7 +477,8 @@ pub fn load_whole_resource(request: RequestInit, core_resource_thread: &CoreResourceThread) -> Result<(Metadata, Vec<u8>), NetworkError> { let (action_sender, action_receiver) = ipc::channel().unwrap(); - core_resource_thread.send(CoreResourceMsg::Fetch(request, action_sender)).unwrap(); + core_resource_thread.send( + CoreResourceMsg::Fetch(request, FetchChannels::ResponseMsg(action_sender))).unwrap(); let mut buf = vec![]; let mut metadata = None; |