blob: 60730e0242be8b72a0f62df0e7aca03e0ca93605 [file] [log] [blame]
// META: title=FetchLater: allowed by CSP
// META: script=/common/utils.js
// META: script=/common/get-host-info.sub.js
// META: script=/pending-beacon/resources/pending_beacon-helper.js
'use strict';
const {
HTTPS_NOTSAMESITE_ORIGIN,
} = get_host_info();
// FetchLater requests allowed by Content Security Policy.
// https://w3c.github.io/webappsec-csp/#should-block-request
const meta = document.createElement('meta');
meta.setAttribute('http-equiv', 'Content-Security-Policy');
meta.setAttribute('content', `connect-src 'self' ${HTTPS_NOTSAMESITE_ORIGIN}`);
document.head.appendChild(meta);
promise_test(async t => {
const uuid = token();
const url = generateSetBeaconURL(uuid, {host: HTTPS_NOTSAMESITE_ORIGIN});
fetchLater(url, {activateAfter: 0});
await expectBeacon(uuid, {count: 1});
t.done();
}, 'FetchLater allowed by CSP should succeed');