diff options
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; |