blob: 050eac8ba8d08ae666dacf3ea09253c224cdffb6 [file] [log] [blame]
importScripts('../../resources/get-request-header.js');
if (self.postMessage)
runTests();
else
onconnect = handleConnect;
function handleConnect(event)
{
self.postMessage = function (message) {
event.ports[0].postMessage(message);
};
runTests();
}
function setCookie() {
return new Promise(function (resolve, reject)
{
var opened = false;
var ws = new WebSocket('ws://127.0.0.1:8880/set-cookie');
ws.onopen = function () {
opened = true;
ws.close();
};
ws.onmessage = function (evt) {
reject('Unexpected message event on set-cookie socket');
};
ws.onerror = function () {
reject('Error on set-cookie socket');
};
ws.onclose = function (evt) {
if (opened)
resolve();
else
reject('Close event handler is called on set-cookie socket before receiving open event');
};
});
}
function echoCookie() {
return connectAndGetRequestHeader('cookie');
}
function runTests()
{
setCookie()
.then(echoCookie)
.then(
function (cookie) {
if (cookie != 'ws-domain-local-ip=1; ws-path-root=1; ws=1; same-site-strict=1; same-site-lax=1')
return Promise.reject('Echoed cookie is incorrect: ' + cookie);
postMessage("DONE");
}
).catch(
function (reason) {
postMessage('FAIL: ' + reason);
}
);
}