mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Merge functionality of WebsocketConnect into Fetch
This commit is contained in:
parent
a65253a11a
commit
99f9696a24
11 changed files with 90 additions and 78 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue