зеркало из https://github.com/mozilla/gecko-dev.git
54 строки
1.3 KiB
JavaScript
54 строки
1.3 KiB
JavaScript
let server = new HttpServer();
|
|
server.start(-1);
|
|
|
|
let body =
|
|
"<!DOCTYPE HTML><html><head><meta charset='utf-8'></head><body></body></html>";
|
|
|
|
function handler(request, response) {
|
|
response.setStatusLine(request.httpVersion, 200, "Ok");
|
|
response.setHeader("Content-Type", "text/html", false);
|
|
|
|
if (!request.hasHeader("Cookie")) {
|
|
response.setHeader("Set-Cookie", "test", false);
|
|
ok(true);
|
|
} else {
|
|
ok(false);
|
|
}
|
|
|
|
response.bodyOutputStream.write(body, body.length);
|
|
}
|
|
|
|
function run_test() {
|
|
do_test_pending();
|
|
server.registerPathHandler("/foo", handler);
|
|
|
|
let xhr = new XMLHttpRequest();
|
|
xhr.open(
|
|
"GET",
|
|
"http://localhost:" + server.identity.primaryPort + "/foo",
|
|
true
|
|
);
|
|
xhr.send(null);
|
|
|
|
xhr.onload = function() {
|
|
// We create another XHR to connect to the same site, but this time we
|
|
// specify with different origin attributes, which will make the XHR use a
|
|
// different cookie-jar than the previous one.
|
|
let xhr2 = new XMLHttpRequest();
|
|
xhr2.open(
|
|
"GET",
|
|
"http://localhost:" + server.identity.primaryPort + "/foo",
|
|
true
|
|
);
|
|
xhr2.setOriginAttributes({ userContextId: 1 });
|
|
xhr2.send(null);
|
|
|
|
let loadInfo = xhr2.channel.loadInfo;
|
|
Assert.equal(loadInfo.originAttributes.userContextId, 1);
|
|
|
|
xhr2.onload = function() {
|
|
server.stop(do_test_finished);
|
|
};
|
|
};
|
|
}
|