aboutsummaryrefslogtreecommitdiffstats
path: root/components/net_traits/lib.rs
diff options
context:
space:
mode:
authorKeith Yeung <kungfukeith11@gmail.com>2017-10-11 22:32:48 -0700
committerKeith Yeung <kungfukeith11@gmail.com>2017-10-24 20:54:19 -0700
commit99f9696a24ece562f74831dbde957af1149eb9eb (patch)
tree2b497025152d2946b539ae0088f5635443a88296 /components/net_traits/lib.rs
parenta65253a11aea13bb7cf26aabdcbac41c02d36f68 (diff)
downloadservo-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.rs27
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;