<!DOCTYPE html>
<html>
  <head>
    <script src='/resources/testharness.js'></script>
    <script src='/resources/testharnessreport.js'></script>
  </head>
  <body>
    <script>
const check_report_format = ([reports, observer]) => {
  const report = reports[0];
  assert_equals(report.type, "permissions-policy-violation");
  assert_equals(report.body.featureId, "sync-xhr");
  assert_equals(report.body.disposition, "report");
};

promise_test(async t => {
  const report = new Promise(resolve => {
    new ReportingObserver((reports, observer) => resolve([reports, observer]),
                          {types: ['permissions-policy-violation']}).observe();
  });
  const xhr = new XMLHttpRequest();
  xhr.open("GET", document.location.href, false);
  xhr.send();
  check_report_format(await report);
}, "Sync-xhr report only mode");
    </script>
  </body>
</html>
