aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/websocket.rs
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2016-01-22 04:25:49 +0530
committerbors-servo <lbergstrom+bors@mozilla.com>2016-01-22 04:25:49 +0530
commit1c6fb0f04e0cf305f4e1f75371be84944b1e5518 (patch)
tree366cfca5048cd2923e98b0e9edd215c3da8cd4dd /components/script/dom/websocket.rs
parent0dd024e492cff1bbbbceeb295c0e220d9dd045fc (diff)
parent1ee9ccba215535dfc1af93a3579c5bca4a21706f (diff)
downloadservo-1c6fb0f04e0cf305f4e1f75371be84944b1e5518.tar.gz
servo-1c6fb0f04e0cf305f4e1f75371be84944b1e5518.zip
Auto merge of #9367 - Chandler:url_origin, r=jdm
Add origin to Location and Url API. The origin field is part of location and url spec but hasn't been implemented in servo yet. https://html.spec.whatwg.org/multipage/browsers.html#dom-location-origin https://url.spec.whatwg.org/#dom-url-origin All of the logic to calculate the url origin exists in https://github.com/servo/rust-url This review threads through rust-url origin implementation into the servo location and url API. This fixes one websockets test: servo/tests/wpt/web-platform-tests/websockets/opening-handshake/003.html testing done: ./mach test-wpt tests/wpt/web-platform-tests/websockets/ I'm brand new to rust so feedback is appreciated, thanks! <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9367) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/websocket.rs')
-rw-r--r--components/script/dom/websocket.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs
index 36456cd02ff..d70b633f0d5 100644
--- a/components/script/dom/websocket.rs
+++ b/components/script/dom/websocket.rs
@@ -5,8 +5,10 @@
use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::BlobBinding::BlobMethods;
use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
+use dom::bindings::codegen::Bindings::LocationBinding::LocationMethods;
use dom::bindings::codegen::Bindings::WebSocketBinding;
use dom::bindings::codegen::Bindings::WebSocketBinding::{BinaryType, WebSocketMethods};
+use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::codegen::UnionTypes::StringOrStringSequence::{self, eString, eStringSequence};
use dom::bindings::conversions::{ToJSValConvertible};
use dom::bindings::error::{Error, Fallible};
@@ -234,13 +236,12 @@ impl WebSocket {
}
// Step 6: Origin.
+ let origin = global.as_window().Location().Origin().0;
// Step 7.
let ws = WebSocket::new(global, resource_url.clone());
let address = Trusted::new(ws.r(), global.networking_thread_source());
- let origin = global.get_url().serialize();
-
let connect_data = WebSocketConnectData {
resource_url: resource_url.clone(),
origin: origin,