|  | <!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> |