tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

encrypted-media-reporting.https.html (1371B)


      1 <!DOCTYPE html>
      2 <html>
      3  <head>
      4    <script src='/resources/testharness.js'></script>
      5    <script src='/resources/testharnessreport.js'></script>
      6  </head>
      7  <body>
      8    <script>
      9 var check_report_format = (reports, observer) => {
     10  let report = reports[0];
     11  assert_equals(report.type, "permissions-policy-violation");
     12  assert_equals(report.url, document.location.href);
     13  assert_equals(report.body.featureId, "encrypted-media");
     14  assert_equals(report.body.disposition, "enforce");
     15  assert_equals(report.body.sourceFile, document.location.href);
     16  assert_equals(typeof report.body.lineNumber, "number");
     17  assert_equals(typeof report.body.columnNumber, "number");
     18 };
     19 
     20 promise_test(async t => {
     21  const report = new Promise(resolve => {
     22    new ReportingObserver((reports, observer) => resolve([reports, observer]),
     23                          {types: ['permissions-policy-violation']}).observe();
     24  });
     25  await promise_rejects_dom(t, "SecurityError",
     26    navigator.requestMediaKeySystemAccess("org.w3.clearkey",
     27      [{
     28        initDataTypes: ["webm"],
     29        videoCapabilities: [{contentType: 'video/webm;codecs="vp8"'}],
     30      }]),
     31      "requestMediaKeySystemAccess() should not be allowed in this document.");
     32  const [reports, observer] = await report;
     33  check_report_format(reports, observer);
     34 }, "Encrypted Media report format");
     35    </script>
     36  </body>
     37 </html>