| <!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> |
| <iframe name="report1"></iframe> |
| <iframe name="report2"></iframe> |
| <script> |
| const base_url = `${location.protocol}//${location.host}`; |
| const endpoint = `${base_url}/reporting/resources/report.py`; |
| const report_id = '204d2fb2-018b-4e35-964c-5e298e89d4e2'; |
| promise_test(async t => { |
| const w = window.open(`resources/generate-report.https.sub.html?pipe=header(Reporting-Endpoints,default="/reporting/resources/report.py?reportID=${report_id}")`, "report1"); |
| const w2 = window.open(`resources/generate-csp-report.https.sub.html?pipe=header(Reporting-Endpoints,default="/reporting/resources/report.py?reportID=${report_id}")`, "report2"); |
| await wait(3000); |
| // Verify that each iframe generated and sent one report. |
| const reports = await pollReports(endpoint, report_id); |
| assert_equals(reports.length, 2, "Number of reports"); |
| checkReportExists(reports, 'deprecation', w.location.href); |
| checkReportExists(reports, 'csp-violation', w2.location.href); |
| const request_count = await pollNumResults(endpoint, report_id); |
| // Verify that requests are sent separately. |
| assert_equals(request_count, 2, "Count of requests"); |
| }, "Reports are not batched for same url in different document."); |
| </script> |
| |
| </body> |
| |
| </html> |