aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/websocket.rs
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2017-10-25 09:00:41 -0500
committerGitHub <noreply@github.com>2017-10-25 09:00:41 -0500
commita69e33366e4333f1de3502e5d706d79f4f843b00 (patch)
treeaf6322109d4017c28d6acb48f81b9490f9ab0a9c /components/script/dom/websocket.rs
parenta347e8d6d332015a5d9c71faaf13b4c1a8fe9fcd (diff)
parent99f9696a24ece562f74831dbde957af1149eb9eb (diff)
downloadservo-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/script/dom/websocket.rs')
-rw-r--r--components/script/dom/websocket.rs25
1 files changed, 12 insertions, 13 deletions
diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs
index 47d3a6f3668..d8425d1d5b8 100644
--- a/components/script/dom/websocket.rs
+++ b/components/script/dom/websocket.rs
@@ -20,15 +20,15 @@ use dom::event::{Event, EventBubbles, EventCancelable};
use dom::eventtarget::EventTarget;
use dom::globalscope::GlobalScope;
use dom::messageevent::MessageEvent;
-use dom::urlhelper::UrlHelper;
use dom_struct::dom_struct;
use ipc_channel::ipc::{self, IpcReceiver, IpcSender};
use js::jsapi::JSAutoCompartment;
use js::jsval::UndefinedValue;
use js::typedarray::{ArrayBuffer, CreateWith};
-use net_traits::{WebSocketCommunicate, WebSocketConnectData, WebSocketDomAction, WebSocketNetworkEvent};
-use net_traits::CoreResourceMsg::WebsocketConnect;
+use net_traits::{CoreResourceMsg, FetchChannels};
+use net_traits::{WebSocketDomAction, WebSocketNetworkEvent};
use net_traits::MessageData;
+use net_traits::request::{RequestInit, RequestMode};
use script_runtime::CommonScriptMsg;
use script_runtime::ScriptThreadEventCategory::WebSocketEvent;
use servo_url::ServoUrl;
@@ -176,12 +176,6 @@ impl WebSocket {
let ws = WebSocket::new(global, url_record.clone());
let address = Trusted::new(&*ws);
- let connect_data = WebSocketConnectData {
- resource_url: url_record,
- origin: UrlHelper::Origin(&global.get_url()).0,
- protocols: protocols,
- };
-
// Create the interface for communication with the resource thread
let (dom_action_sender, resource_action_receiver):
(IpcSender<WebSocketDomAction>,
@@ -190,13 +184,18 @@ impl WebSocket {
(IpcSender<WebSocketNetworkEvent>,
IpcReceiver<WebSocketNetworkEvent>) = ipc::channel().unwrap();
- let connect = WebSocketCommunicate {
+ // Step 8.
+ let request = RequestInit {
+ url: url_record,
+ origin: global.origin().immutable().clone(),
+ mode: RequestMode::WebSocket { protocols },
+ ..RequestInit::default()
+ };
+ let channels = FetchChannels::WebSocket {
event_sender: resource_event_sender,
action_receiver: resource_action_receiver,
};
-
- // Step 8.
- let _ = global.core_resource_thread().send(WebsocketConnect(connect, connect_data));
+ let _ = global.core_resource_thread().send(CoreResourceMsg::Fetch(request, channels));
*ws.sender.borrow_mut() = Some(dom_action_sender);