summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/beacon/headers/header-referrer.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/beacon/headers/header-referrer.js')
-rw-r--r--testing/web-platform/tests/beacon/headers/header-referrer.js21
1 files changed, 18 insertions, 3 deletions
diff --git a/testing/web-platform/tests/beacon/headers/header-referrer.js b/testing/web-platform/tests/beacon/headers/header-referrer.js
index ebd67df1d7..1e9d4f697d 100644
--- a/testing/web-platform/tests/beacon/headers/header-referrer.js
+++ b/testing/web-platform/tests/beacon/headers/header-referrer.js
@@ -18,17 +18,32 @@ function testReferrerHeader(testBase, expectedReferrer, mayBeBlockedAsMixedConte
}, "Test referer header " + testBase);
}
+function testOriginHeader(testBase, expectedOrigin, addBody) {
+ var id = self.token();
+ var testUrl = testBase + "inspect-header.py?header=origin&cmd=put&id=" + id;
+
+ promise_test(function(test) {
+ const sentBeacon = navigator.sendBeacon(testUrl, addBody ? "data" : undefined);
+ assert_true(sentBeacon, "SendBeacon Succeeded");
+ return pollResult(expectedOrigin, id, "origin") .then(result => {
+ assert_equals(result, expectedOrigin, "Correct origin header result");
+ });
+ }, "Test origin header " + testBase + (addBody ? " - with body" : " - without body"));
+}
+
// SendBeacon is an asynchronous and non-blocking request to a web server.
// We may have to create a poll loop to get result from server
-function pollResult(expectedReferrer, id) {
- var checkUrl = RESOURCES_DIR + "inspect-header.py?header=referer&cmd=get&id=" + id;
+function pollResult(expectedReferrer, id, headerName) {
+ if (!headerName)
+ headerName = "referer";
+ var checkUrl = RESOURCES_DIR + "inspect-header.py?header=" + headerName + "&cmd=get&id=" + id;
return new Promise(resolve => {
function checkResult() {
fetch(checkUrl).then(
function(response) {
assert_equals(response.status, 200, "Inspect header response's status is 200");
- let result = response.headers.get("x-request-referer");
+ let result = response.headers.get("x-request-" + headerName);
if (result != undefined) {
resolve(result);