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 <chrishtr@chromium.org> Commit-Queue: Ian Clelland <iclelland@chromium.org> Cr-Commit-Position: refs/heads/main@{#1301744} -- wpt-commits: 147cb9c4b0752992efb463a0eea72f64f688f840 wpt-pr: 46291
60 lines
2.1 KiB
HTML
60 lines
2.1 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
|
|
<head>
|
|
<title>Test that reports are sent to multiple named endpoints</title>
|
|
<script src='/resources/testharness.js'></script>
|
|
<script src='/resources/testharnessreport.js'></script>
|
|
<script src='resources/report-helper.js'></script>
|
|
</head>
|
|
|
|
<body>
|
|
<script>
|
|
const t = async_test("Test that image does not load");
|
|
async_test(function (t) {
|
|
const observer = new ReportingObserver((reports, observer) => {
|
|
t.step(() => {
|
|
assert_equals(reports[0].type, 'csp-violation');
|
|
});
|
|
t.done();
|
|
}, { types: ['csp-violation'] });
|
|
observer.observe();
|
|
}, "csp violation report observed");
|
|
|
|
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>
|
|
<img src='/reporting/resources/fail.png' onload='t.unreached_func("The image should not have loaded");'
|
|
onerror='t.done();'>
|
|
<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 group1_id = '0d334af1-1c5c-4e59-9079-065131ff2a45';
|
|
const group2_id = '09c1a265-5fc7-4c49-b35c-32078c2d0c19';
|
|
promise_test(async t => {
|
|
await wait(3000);
|
|
// Verify CSP reports are sent to configured endpoint.
|
|
const csp_reports = await pollReports(endpoint, group1_id);
|
|
checkReportExists(csp_reports, 'csp-violation', location.href);
|
|
// Verify Document Policy reports are sent to configured endpoint.
|
|
const dp_reports = await pollReports(endpoint, group2_id);
|
|
checkReportExists(dp_reports, 'document-policy-violation', location.href);
|
|
}, "Reporting endpoints received reports.");
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</html>
|