Files
firefox/testing/web-platform/tests/reporting/document-reporting-bypass-report-to.https.sub.html
Ian Clelland 210f6147ed Bug 1897000 [wpt PR 46291] - Remove dependency on experimental document policies in tests, a=testonly
Automatic update from web-platform-tests
Remove dependency on experimental document policies in tests

There are several internal and external tests which rely on experimental
document policy features to demonstrate the operation of document policy
itself. This CL updates these tests to use more well-standardized
features instead.

Bug: 340920459
Change-Id: I8bccbb6f86ffae4dfcd086bf2947a0adac5eb107
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5539454
Reviewed-by: Chris Harrelson <[email protected]>
Commit-Queue: Ian Clelland <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1301744}

--

wpt-commits: 147cb9c4b0752992efb463a0eea72f64f688f840
wpt-pr: 46291
2024-05-23 10:00:38 +00:00

47 lines
1.7 KiB
HTML

<!DOCTYPE HTML>
<html>
<head>
<title>Test that reports ignore Report-To header when Reporting-Endpoints is configured</title>
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
<script src='resources/report-helper.js'></script>
</head>
<body>
<script>
promise_test(async t => {
return new Promise(resolve => {
new ReportingObserver((reports, observer) => resolve(reports),
{ types: ['document-policy-violation'] }).observe();
}).then((reports) => {
assert_equals(reports[0].type, 'document-policy-violation');
})
}, "document policy violation observed");
</script>
<script>
// Attempt a synchronous XHR - this should succeed but cause a report to be sent.
const xhr = new XMLHttpRequest();
xhr.open("GET", document.location.href, false);
xhr.send();
</script>
<script>
const base_url = `${location.protocol}//${location.host}`;
const endpoint = `${base_url}/reporting/resources/report.py`;
const report_to_id = 'caddb022-90ea-48e8-a675-4cebaf7e8388';
const reporting_endpoints_id = '6c2131d0-1e9b-4ee8-a196-952f2ae4ae97';
promise_test(async t => {
await wait(3000);
// Verify no reports sent to Report-To endpoint
let reports = await pollReports(endpoint, report_to_id);
assert_equals(reports.length, 0);
// Verify report is received on Reporting-Endpoints endpoint
reports = await pollReports(endpoint, reporting_endpoints_id);
checkReportExists(reports, 'document-policy-violation', location.href);
}, "Only the Reporting-Endpoints configured endpoint received reports.");
</script>
</body>
</html>