| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src='/resources/testharness.js'></script> |
| <script src='/resources/testharnessreport.js'></script> |
| </head> |
| <body> |
| <script> |
| promise_test(async (t) => { |
| const reportPromise = new Promise(resolve => { |
| new ReportingObserver((reports, observer) => resolve(reports), |
| {types: ["feature-policy-violation"]}).observe(); |
| }); |
| // Even though we do not explicitly allow screen wake lock requests in |
| // testdriver, per spec Permissions Policy checks should happen earlier. |
| await promise_rejects_dom(t, 'NotAllowedError', navigator.wakeLock.request("screen"), |
| "Screen Wake Lock should not be allowed in this document."); |
| const reports = await reportPromise; |
| |
| assert_equals(reports.length, 1); |
| const report = reports[0]; |
| assert_equals(report.type, "feature-policy-violation"); |
| assert_equals(report.url, document.location.href); |
| assert_equals(report.body.featureId, "screen-wake-lock"); |
| assert_equals(report.body.sourceFile, document.location.href); |
| assert_equals(typeof report.body.lineNumber, "number"); |
| assert_equals(typeof report.body.columnNumber, "number"); |
| assert_equals(report.body.disposition, "enforce"); |
| }, "Screen Wake Lock Report Format"); |
| </script> |
| </body> |
| </html> |