aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/script/dom/dedicatedworkerglobalscope.rs2
-rw-r--r--components/script/dom/messageevent.rs5
-rw-r--r--components/script/dom/websocket.rs13
-rw-r--r--components/script/dom/window.rs1
-rw-r--r--components/script/dom/worker.rs2
-rw-r--r--tests/wpt/metadata/websockets/opening-handshake/003.html.ini11
6 files changed, 17 insertions, 17 deletions
diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs
index 8ef8e5ad696..1c8c2316dde 100644
--- a/components/script/dom/dedicatedworkerglobalscope.rs
+++ b/components/script/dom/dedicatedworkerglobalscope.rs
@@ -313,7 +313,7 @@ impl DedicatedWorkerGlobalScope {
scope.reflector().get_jsobject().get());
rooted!(in(scope.get_cx()) let mut message = UndefinedValue());
data.read(scope.upcast(), message.handle_mut());
- MessageEvent::dispatch_jsval(target, scope.upcast(), message.handle());
+ MessageEvent::dispatch_jsval(target, scope.upcast(), message.handle(), None);
},
WorkerScriptMsg::Common(msg) => {
self.upcast::<WorkerGlobalScope>().process_event(msg);
diff --git a/components/script/dom/messageevent.rs b/components/script/dom/messageevent.rs
index c7cc693c7ba..f7a47488558 100644
--- a/components/script/dom/messageevent.rs
+++ b/components/script/dom/messageevent.rs
@@ -82,14 +82,15 @@ impl MessageEvent {
impl MessageEvent {
pub fn dispatch_jsval(target: &EventTarget,
scope: &GlobalScope,
- message: HandleValue) {
+ message: HandleValue,
+ origin: Option<&str>) {
let messageevent = MessageEvent::new(
scope,
atom!("message"),
false,
false,
message,
- DOMString::new(),
+ DOMString::from(origin.unwrap_or("")),
DOMString::new());
messageevent.upcast::<Event>().fire(target);
}
diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs
index 14ff325f56d..2de8f97d98e 100644
--- a/components/script/dom/websocket.rs
+++ b/components/script/dom/websocket.rs
@@ -33,7 +33,7 @@ use net_traits::request::{RequestInit, RequestMode};
use profile_traits::ipc as ProfiledIpc;
use script_runtime::CommonScriptMsg;
use script_runtime::ScriptThreadEventCategory::WebSocketEvent;
-use servo_url::ServoUrl;
+use servo_url::{ImmutableOrigin, ServoUrl};
use std::borrow::ToOwned;
use std::cell::Cell;
use std::ptr;
@@ -274,6 +274,10 @@ impl WebSocket {
Ok(true)
}
+
+ pub fn origin(&self) -> ImmutableOrigin {
+ self.url.origin()
+ }
}
impl WebSocketMethods for WebSocket {
@@ -549,7 +553,12 @@ impl TaskOnce for MessageReceivedTask {
}
},
}
- MessageEvent::dispatch_jsval(ws.upcast(), &global, message.handle());
+ MessageEvent::dispatch_jsval(
+ ws.upcast(),
+ &global,
+ message.handle(),
+ Some(&ws.origin().ascii_serialization())
+ );
}
}
}
diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs
index f15e2824db4..48b0861216c 100644
--- a/components/script/dom/window.rs
+++ b/components/script/dom/window.rs
@@ -2114,6 +2114,7 @@ impl Window {
this.upcast(),
this.upcast(),
message_clone.handle(),
+ None
);
});
// FIXME(nox): Why are errors silenced here?
diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs
index 35d8c932de4..b3ba42afb2b 100644
--- a/components/script/dom/worker.rs
+++ b/components/script/dom/worker.rs
@@ -130,7 +130,7 @@ impl Worker {
let _ac = JSAutoCompartment::new(global.get_cx(), target.reflector().get_jsobject().get());
rooted!(in(global.get_cx()) let mut message = UndefinedValue());
data.read(&global, message.handle_mut());
- MessageEvent::dispatch_jsval(target, &global, message.handle());
+ MessageEvent::dispatch_jsval(target, &global, message.handle(), None);
}
pub fn dispatch_simple_error(address: TrustedWorkerAddress) {
diff --git a/tests/wpt/metadata/websockets/opening-handshake/003.html.ini b/tests/wpt/metadata/websockets/opening-handshake/003.html.ini
deleted file mode 100644
index 1a7c50506a5..00000000000
--- a/tests/wpt/metadata/websockets/opening-handshake/003.html.ini
+++ /dev/null
@@ -1,11 +0,0 @@
-[003.html]
- type: testharness
- [WebSockets: origin]
- expected: FAIL
-
-
-[003.html?wss]
- type: testharness
- [WebSockets: origin]
- expected: FAIL
-