mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Auto merge of #9521 - Manishearth:ws-worker, r=Ms2ger
Make websockets work in a worker scope r? @jdm <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9521) <!-- Reviewable:end -->
This commit is contained in:
commit
b35801bf29
4 changed files with 34 additions and 4 deletions
|
@ -8,7 +8,6 @@ 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};
|
||||
|
@ -24,6 +23,7 @@ use dom::closeevent::CloseEvent;
|
|||
use dom::event::{Event, EventBubbles, EventCancelable};
|
||||
use dom::eventtarget::EventTarget;
|
||||
use dom::messageevent::MessageEvent;
|
||||
use dom::urlhelper::UrlHelper;
|
||||
use ipc_channel::ipc::{self, IpcReceiver, IpcSender};
|
||||
use js::jsapi::{JSAutoCompartment, JSAutoRequest, RootedValue};
|
||||
use js::jsapi::{JS_GetArrayBufferData, JS_NewArrayBuffer};
|
||||
|
@ -233,7 +233,7 @@ impl WebSocket {
|
|||
}
|
||||
|
||||
// Step 6: Origin.
|
||||
let origin = global.as_window().Location().Origin().0;
|
||||
let origin = UrlHelper::Origin(&global.get_url()).0;
|
||||
|
||||
// Step 7.
|
||||
let ws = WebSocket::new(global, resource_url.clone());
|
||||
|
|
|
@ -33717,7 +33717,16 @@
|
|||
},
|
||||
"local_changes": {
|
||||
"deleted": [],
|
||||
"items": {},
|
||||
"items": {
|
||||
"testharness": {
|
||||
"websockets/Send-data.worker.js": [
|
||||
{
|
||||
"path": "websockets/Send-data.worker.js",
|
||||
"url": "/websockets/Send-data.worker"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"reftest_nodes": {}
|
||||
},
|
||||
"reftest_nodes": {
|
||||
|
|
21
tests/wpt/web-platform-tests/websockets/Send-data.worker.js
Normal file
21
tests/wpt/web-platform-tests/websockets/Send-data.worker.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
importScripts("/resources/testharness.js");
|
||||
importScripts('websocket.js?pipe=sub')
|
||||
|
||||
var data = "test data";
|
||||
|
||||
async_test(function(t) {
|
||||
|
||||
var wsocket = CreateWebSocket(false, false, false);
|
||||
|
||||
wsocket.addEventListener('open', function (e) {
|
||||
wsocket.send(data)
|
||||
}, true)
|
||||
|
||||
wsocket.addEventListener('message', t.step_func_done(function(e) {
|
||||
assert_equals(e.data, data);
|
||||
done();
|
||||
}), true);
|
||||
|
||||
}, "W3C WebSocket API - Send data on a WebSocket in a Worker")
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ var closeCode;
|
|||
var urlToOpen;
|
||||
|
||||
function IsWebSocket() {
|
||||
if (!window.WebSocket) {
|
||||
if (!self.WebSocket) {
|
||||
assert_true(false, "Browser does not support WebSocket");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue