mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-26 18:37:31 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
48
dom/tests/mochitest/beacon/beacon-originheader-handler.sjs
Normal file
48
dom/tests/mochitest/beacon/beacon-originheader-handler.sjs
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* TestSever customized specifically for the needs of:
|
||||
* Bug 1280692 - navigator.sendBeacon() should not send origin header
|
||||
*/
|
||||
|
||||
function handleRequest(request, response)
|
||||
{
|
||||
response.setHeader("Cache-Control", "no-cache", false);
|
||||
response.setHeader("Content-Type", "text/plain", false);
|
||||
|
||||
// case XHR-REQUEST: the xhr-request tries to query the
|
||||
// stored header from the beacon request.
|
||||
if (request.queryString == "queryheader") {
|
||||
var header = getState("originHeader");
|
||||
// if the beacon already stored the header - return.
|
||||
if (header) {
|
||||
response.write(header);
|
||||
setState("originHeader", "");
|
||||
return;
|
||||
}
|
||||
// otherwise wait for the beacon request
|
||||
response.processAsync();
|
||||
setObjectState("xhr-response", response);
|
||||
return;
|
||||
}
|
||||
|
||||
// case BEACON-REQUEST: get the beacon header and
|
||||
// store the header on the server.
|
||||
var header = "reset";
|
||||
try {
|
||||
header = request.getHeader("origin");
|
||||
}
|
||||
catch(e) {
|
||||
header = "no-header";
|
||||
}
|
||||
setState("originHeader", header);
|
||||
|
||||
|
||||
// if there is an xhr-request waiting, return the header now.
|
||||
getObjectState("xhr-response", function(xhrResponse) {
|
||||
if (!xhrResponse) {
|
||||
return;
|
||||
}
|
||||
setState("originHeader", "");
|
||||
xhrResponse.write(header);
|
||||
xhrResponse.finish();
|
||||
});
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue